Leetcode 2 Posted on 2019-04-21 | Words count in article: 152 | Reading time ≈ 1 Question Solution首先创建一个首位元素为0的空链表,然后创建carry = 0. 如果l1和l2不为空,则以此读取当前位置,然后加到carry上,之后考虑如何将carry添加到开始创建的空链表上,注意carry的位数,以及如果进位了需要保留。 12345678910111213141 ... Read more »
Leetcode 49 Posted on 2019-04-20 | Words count in article: 50 | Reading time ≈ 1 Question Solution如果已经存在了,直接修改对应key的value 1234567class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: d = { ... Read more »
Leetcode 36 Posted on 2019-04-20 | Words count in article: 165 | Reading time ≈ 1 Question Solution可以通过set来比较是否有重复元素,注意剔除”.”。 先创建一个检测unit的函数,然后判断行,列,3*3的时候调用unit函数。 123456789101112131415161718192021222324252627class Solution: def ... Read more »
Leetcode 18 Posted on 2019-04-19 | Words count in article: 443 | Reading time ≈ 2 Question Solution1首先对nums进行排序。[x,y,z,h,i,j,k]然后考虑先去前两个数,添加两个指针,第一个指向z,第二个指向末位元素,即k。计算target-x-y,将其与z+k进行比较,如果相同则是一个结果,如果z+k小,则第一个指针右移动一个位置,如果大,则第二个指针左 ... Read more »
Leetcode 3 Posted on 2019-04-18 | Words count in article: 201 | Reading time ≈ 1 Question Solution1比较暴力的方法。从i开始,遍历i+1之后的元素并且添加到dict里面。如果出现重复,则记录当前dict的长度,并清空当前dict。 12345678910111213141516class Solution: def lengthOfLongestSubst ... Read more »
Leetcode 131 Posted on 2019-04-17 | Words count in article: 114 | Reading time ≈ 1 Question Solution考虑对字符串进行逆序。用s[x:x:-1]来切片并且逆序比较难以判断,阅读起来比较复杂,可以先切片后逆序,即s[x:x][::-1]来替代。 1234567891011121314151617class Solution: def partition(self ... Read more »
Lagrange Posted on 2019-04-17 | Words count in article: 687 | Reading time ≈ 2 拉格朗日拉格朗日乘子法是求解约束最优化问题的方法,其通过将原始问题转化为对偶问题来得到原始问题的最优解。SVM,最大熵模型都采用了拉格朗日方法。 原始问题首先定义f(x), c_i(x), h_j(x)是定义在R^n上的连续可微函数,考虑下面的约束问题: \begin{align} \nonumb ... Read more »
Leetcode 90 Posted on 2019-04-16 | Words count in article: 279 | Reading time ≈ 1 Question Solution首先,IP的地址格式是XXX.XXX.XXX.XXX,其中XXX是不大于255的数。去除s长度大于12的情况。 其次,我们总共可以切割4次,且切完之后s没有剩余。如果切割次数超过4次,直接舍去。 分类讨论。 如果取一位数,直接符合条件。 如果取两位数,那么需要考虑到 ... Read more »
AdaBoost Posted on 2019-04-16 | Words count in article: 623 | Reading time ≈ 2 Adaboost直观视角提升方法是一种基于弱分类器的方法。它将若干个弱分类器按照一定的权重进行线性组合,提高分类器的性能,建立最终的模型。 一般来说,我们会改变数据的概率分布,即给予不同的权重,然后对不同权重的数据进行多次学习获得若干个弱分类器。最后对这若干个弱分类器进行加权线性组合。 这就引出了两 ... Read more »
Leetcode 78 Posted on 2019-04-15 | Words count in article: 141 | Reading time ≈ 1 Question1 Solution依旧修改第46题代码,每递归一次将temp添加到results上,并且修改判断语句。 12345678910111213class Solution: def subsets(self, nums: List[int]) -> List[List[in ... Read more »