Leetcode
文章平均质量分 85
xero10
这个作者很懒,什么都没留下…
展开
-
hash table
Easy:happy number:https://leetcode.com/problems/happy-number/如果结果存在非1的循环,则不是happy number,所以可以通过检查结果是否存在循环来判断。一个可用的cycle detection算法是Floyd algorithm(也叫Tortoise and hare algorithm)。思想是设置两个指原创 2020-04-01 09:18:49 · 180 阅读 · 0 评论 -
Easy题目总结
正常技巧题implement queue using stack:https://leetcode.com/problems/implement-queue-using-stacks/用两个stack,stack1储存queue,stack2暂时储存stack1所pop出的数据,然后再pop stack2将数据push回stack1binary tree level or原创 2015-12-08 06:27:00 · 474 阅读 · 0 评论 -
Medium题目总结
方法技巧题:search a 2D matrix II:https://leetcode.com/problems/search-a-2d-matrix-ii/从左下角开始,如果元素大于target则行减1,如果小于target则列加1product of array except self: https://leetcode.com/problems/product-of-原创 2016-02-15 05:10:20 · 1161 阅读 · 0 评论 -
Hard题目总结
Binary SearchSearch in Rotated Sorted Array:https://leetcode.com/problems/search-in-rotated-sorted-array/两种方法:1)直接binary search,先判断mid在哪一段,然后判断mid和target的关系,如果结果可能在两段,再判断这段边界(left或right)和target原创 2016-02-16 00:03:35 · 1109 阅读 · 0 评论 -
Bit Manipulation
number of 1 bits:https://leetcode.com/problems/number-of-1-bits/n &= n - 1; 一次可以去掉一个1,记录到 n == 0 执行的次数Missing Number:https://leetcode.com/problems/missing-number/将0 ~ N和所有的元素XORSin原创 2015-12-12 00:57:37 · 332 阅读 · 0 评论 -
Dynamic Programming
Easy:Paint Fence:https://leetcode.com/problems/paint-fence/设两个数组diff和same,分别表示第 i 个位置最后两个post颜色相同和颜色不同的组合数,则diff[i] = (k - 1) * diff[i - 1] + (k - 1) * same[i - 1],same[i] = diff[i - 1],最后返回diff[原创 2020-04-01 09:18:35 · 166 阅读 · 0 评论 -
数学技巧题
Nim Game:https://leetcode.com/problems/nim-game/n是4的倍数时一定失败add digits:https://leetcode.com/problems/add-digits/return 1 + (num - 1) % 9;原创 2020-04-01 09:18:23 · 155 阅读 · 0 评论 -
奇技淫巧题
move zeros:https://leetcode.com/problems/move-zeroes/找到第一个0,记录0的个数为count,将 a[i+count] 移动到 a[i]。可以理解为设定了两个指针number of 1 bits:https://leetcode.com/problems/number-of-1-bits/n &= n - 1; 一次可以去原创 2020-04-01 09:18:11 · 800 阅读 · 0 评论 -
正常技巧题
implement queue using stack:https://leetcode.com/problems/implement-queue-using-stacks/用两个stack,stack1储存queue,stack2暂时储存stack1所pop出的数据,然后再pop stack2将数据push回stack1原创 2020-04-01 09:19:16 · 212 阅读 · 0 评论 -
算法题
happy number:https://leetcode.com/problems/happy-number/如果结果存在非1的循环,则不是happy number,所以可以通过检查结果是否存在循环来判断。一个可用的cycle detection算法是Floyd algorithm(也叫Tortoise and hare algorithm)。思想是设置两个指针p1,p2。p1一次移动一个原创 2020-04-01 09:19:25 · 155 阅读 · 0 评论 -
Lintcode题目总结
方法技巧题:Complete Binary Tree: http://www.lintcode.com/en/problem/complete-binary-tree/用一个名为nodes的vector存储层序遍历的结果,在nodes[i] != NULL时将其左右儿子加入nodes。遍历了所有节点后,将nodes结尾的NULL节点pop_back,则nodes中剩下的节点中如果有NULL原创 2016-05-19 10:36:45 · 1436 阅读 · 0 评论