上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 23 下一页
摘要: 从我花时间上看,我是纠结排序很久。注意一下Comparator的写法,以后会了就好~ 算法上讲,就是对envolope尺寸排序,然后对于排序后的每个信封,它可以装进的最多小信封数,是长宽都比它小的信封中装的进最多数目+1。和之前做的368. Largest Divisible Subset思路是一样 阅读全文
posted @ 2016-06-29 03:55 warmland 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 编辑距离:两个字符串仅通过1.替换一个字母 2.删/增一个字母 变成另外一个字符串所需要的最小的步骤数 状态转移方程是: 1. if(s[i] == t[j]) res[i][j] = res[i-1][j-1]; 2. else res[i][j] = res[i-1][j-1], res[i-1 阅读全文
posted @ 2016-06-28 08:47 warmland 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 算出两个list的长度,然后让长的那个往前移动长度差别。 这样两个list就是从同样长度的地方开始同时往后移动,如果两个头合在一起,或者到了linkedlist的尾部,就返回结果 阅读全文
posted @ 2016-06-28 07:26 warmland 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 先把数组排序,然后每一个数的位置上最长的序列是这个数之前的位置最长序列+1。这样一遍走完就可以知道最长的序列是多少,但是除了最长序列还需要知道那个序列,所以另外一个记录由哪个位置来的。因为最后一个数字未必会构成最长序列,所以还需要找到一个最长序列的那个结尾,一个max, maxPos. 所以维持四个 阅读全文
posted @ 2016-06-28 06:33 warmland 阅读(163) 评论(0) 推荐(0) 编辑
摘要: binary search但是三个数的时候单独处理 阅读全文
posted @ 2016-06-28 05:25 warmland 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 维持三个变量,localMax, localMin, global. 需要注意的是更细localMax/localMin的时候,后更新的那个需要先更新的那个的原始值,所以需要存一下 阅读全文
posted @ 2016-06-28 04:25 warmland 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 思路 初始化: 1.第一行第一列,初始化成和原grid一样的值。因为他们要么构成边长为1的square,要么就不能 2. 然后余下的各自,从下往上从左往右走,如果这个格子是0,肯定不仅构不成,而且终结了以前的sqaure就是0, 如果是1,值就是左侧、上方和斜对角值中最小的一个+1. 画个图理解,比 阅读全文
posted @ 2016-06-22 11:11 warmland 阅读(116) 评论(0) 推荐(0) 编辑
摘要: ~~ 阅读全文
posted @ 2016-06-22 07:19 warmland 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 简直开心,一遍通过,时间不是特别好,我觉得是isPalindrome用的是StirngBuilder方法不是数学方法的原因 不过很开心!! 阅读全文
posted @ 2016-06-22 06:46 warmland 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 没什么要说的 阅读全文
posted @ 2016-06-22 06:34 warmland 阅读(111) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 23 下一页