2015年6月12日
摘要: 在leetcode中,有不少题要用到双指针扫描,大致可以分这么几类,在这里总结一下。首先要说的是双指针有两个我们非常熟悉的应用,一个是partition,一个是binary search;一个是一块一慢双指针同向扫描,保持双指针之间和慢之前的元素满足loop invariant,一个是双指针从俩边向... 阅读全文
posted @ 2015-06-12 20:42 小虎是枪王 阅读(482) 评论(0) 推荐(0) 编辑
  2015年6月10日
摘要: leetcode中有几道题使用同一个思路,大致是先维护一个窗口,每次只移动窗口左侧或者右侧的边界,然后针对这个窗口内的元素进行处理。这种方式使用两个指针,可以将问题的运行时间降到O(n)内。Longest Substring Without Repeating Characters:https://... 阅读全文
posted @ 2015-06-10 05:31 小虎是枪王 阅读(346) 评论(0) 推荐(0) 编辑
  2015年5月28日
摘要: 本文主要对binary tree和tree相关问题做一个review,然后一道一道解决leetcode中的相关问题。 因为是review了,所以基本概念定义什么的就不赘述。review主要包括:inorder, postorder,preorder traversal的iterative versi 阅读全文
posted @ 2015-05-28 05:14 小虎是枪王 阅读(212) 评论(0) 推荐(0) 编辑
  2015年4月23日
摘要: 题目链接:https://leetcode.com/problems/happy-number/这道题看上去很简单,如果用hashtable的话,不少童鞋应该都能做出来。只要想明白一件事儿,循环结束的条件:要么当前的数字为1,要么当前的数字曾经出现过。(至于为什么一定会出现循环,额,数学家们已有讨论... 阅读全文
posted @ 2015-04-23 23:58 小虎是枪王 阅读(216) 评论(0) 推荐(0) 编辑
  2015年4月18日
摘要: leetcode中有几个求sum的问题,思路基本上一样,在这里一并列出。这几道题主要思路是在使用双指针解决2SUM的基础上,将kSUM逐步reduce到2SUM。 大致框架如下:1) sort2) repeatedly reduce kSUM to k-1SUM, until 2SUM3) solv... 阅读全文
posted @ 2015-04-18 00:28 小虎是枪王 阅读(7126) 评论(0) 推荐(0) 编辑
  2015年4月16日
摘要: 题目链接https://leetcode.com/problems/majority-element/这道题最一开始的思路是建立一个hashmap,这样就是 O(n) time和 O(n) space。但是后来看了一下leetcode给出的官方解答,发现moore voting algorithm很... 阅读全文
posted @ 2015-04-16 03:10 小虎是枪王 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 题目链接https://leetcode.com/problems/merge-sorted-array/这道题是merge sort中merge的过程,有一个trick是从后往前merge,这样可以避免多余的数组操作class Solution {public: void merge(int... 阅读全文
posted @ 2015-04-16 02:28 小虎是枪王 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目链接https://leetcode.com/problems/pascals-triangle/https://leetcode.com/problems/pascals-triangle-ii/这两道题都是数组操作,需要注意的是II在I的基础上使用滚动数组存储过往的中间结果,这个思想可以注意... 阅读全文
posted @ 2015-04-16 02:20 小虎是枪王 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目链接https://leetcode.com/problems/plus-one/这是digit这类题里最简单的一道了,这类题基本都不难,但是需要把几个boundary case考虑到,这道题里需要考虑的是进位之后首位的情况。其他case以后遇到再提。class Solution {public... 阅读全文
posted @ 2015-04-16 01:55 小虎是枪王 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目链接https://leetcode.com/problems/remove-duplicates-from-sorted-array/思路就是维护两个pointer,一个,i, 用于遍历整个数组,另一个,len, 用于保存当前的无重复元素的数组的最后一个positionif A[i] == A... 阅读全文
posted @ 2015-04-16 01:46 小虎是枪王 阅读(131) 评论(0) 推荐(0) 编辑