leetcode
dfadsg
这个作者很懒,什么都没留下…
展开
-
Number of Digit One
有个overflow一直找不到,改了iFactor为longlong就好了注意overflow不一定是逻辑上发生,注意仔细观察代码,可能在某个小细节上发生,这个题目发生在iFactor *= 10 最后一次赋值超过一个int大小。原创 2015-07-08 10:23:48 · 391 阅读 · 0 评论 -
编码方式
http://flyer103.diandian.com/post/2014-03-09/40061199665转载 2015-09-25 10:18:37 · 265 阅读 · 0 评论 -
leetcode Interleaving String
recru针对每种具体情况进行了讨论,所以超时,我自然是想到了DP,但是感觉DP也会讨论到每种情况,实际情况是不用的,吧需要的情况想象成一个表table[i][j] table[i][j] = true意味着 i+j = k 即 s3[k]是true的无论这i个s1的元素和j个s2的元素在s3里是怎么排列的,总结:不是自己没想到DP是自己原创 2015-09-24 16:03:55 · 223 阅读 · 0 评论 -
leetcode Binary Tree Zigzag Level Order Traversal
其实递归就是DSF 层iterative就是BSF这次用递归,用头插法保证逆序,关键在结果的list中外层用arraylist实现,内层用linkedlist实现,非常巧妙原因是定位哪层属于查找,用数组能保证o(1)的复杂度,然后在那层插入元素采用链表也是为了保证o(1)的复杂度。原创 2015-09-22 17:36:25 · 171 阅读 · 0 评论 -
leetcode decode ways
取值符号*和++在一条语句时用一定要注意优先级(*a)++才对。原创 2015-09-23 14:21:17 · 240 阅读 · 0 评论 -
leetcode 由和中序构造二叉树
注意后后序和前序的区别当用栈iterative代替recursive时,要考虑前续是将left child入栈,后续需要的是右子树另外注意一点accept的时间有时候有事快不一定是算法的不同。原创 2015-09-22 16:16:48 · 817 阅读 · 0 评论 -
leetcode Find the Duplicate Number
o(nlogn)采用折半查找注意是针对值的,不是针对元素的o(n)算法采用快慢指针,此处涉及到快慢指针可以定位环的开始点的功能。原创 2015-09-29 14:37:50 · 289 阅读 · 0 评论 -
leetcode Missing Number
int missingNumber(int* nums, int numsSize) { int res = numsSize; int i; for (i = 0; i res ^= nums[i]; res ^= i; } return res;}其中用到的技巧就是xor原创 2015-09-09 10:02:04 · 259 阅读 · 0 评论 -
leetcode Single Number III 也是位操作
数a,我要求a最后是1的一位,怎么求?a &= ~(a - 1)注意到~(a - 1)就是数的补码表示,则可写成a &= -a原创 2015-09-09 11:13:42 · 295 阅读 · 0 评论 -
leetcode H-index 2
看到(left+right)>>1这应该是比除法高效的一个算法。原创 2015-09-08 10:21:12 · 281 阅读 · 0 评论 -
搜索树中的最短长度问题
一般用BFS变种问题是:原创 2015-07-17 11:27:14 · 439 阅读 · 0 评论 -
关于遍历图或树,求结果组的问题。
首先要设置两个变量:list result;list curresult;其次,递归遍历的过程中每一个递归的返回处要退栈curresult;例题:https://leetcode.com/problems/path-sum-ii/原创 2015-07-16 17:06:56 · 387 阅读 · 0 评论 -
Largest Rectangle in Histogram
要点在求当前最低柱的左右index转http://www.geeksforgeeks.org/largest-rectangle-under-histogram/转载 2015-07-02 11:02:42 · 322 阅读 · 0 评论 -
Text Justification
python版本要点重复字符串可以用*连接。‘a’ * 3 = “aaa”‘——’.join(字符串)中间插入a——b——clfindrjustsplit不一一说明原创 2015-06-30 17:09:16 · 227 阅读 · 0 评论 -
leetcode Repeated DNA Sequences && 代替两次判断
public List findRepeatedDnaSequences(String s) {Set words = new HashSetSet doubleWords = new HashSetList rv = new ArrayListchar[] map = new char[26];//map['A' - 'A'] = 0;map['C' - 'A'] = 1原创 2015-10-29 17:25:27 · 290 阅读 · 0 评论