摘要: https://leetcode.com/problems/longest-consecutive-sequence/?tab=Description 开始的时候,没有思路。看了下面这个,也有并查集的感觉,每个数字记录一下最后一个元素。都指向一个。 https://discuss.leetcode. 阅读全文
posted @ 2017-02-26 23:25 blcblc 阅读(189) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/count-of-smaller-numbers-after-self/?tab=Description 这道题目,比求出整体逆序个数,更多一个,是求出每一个位置的逆序个数。 这是根据MergeSort的常规解法: https://disc 阅读全文
posted @ 2017-02-26 23:08 blcblc 阅读(187) 评论(0) 推荐(0)
摘要: 上一道题目,没注意,原来不能重复: http://www.cnblogs.com/charlesblc/p/6444027.html 而且用上一道题目来找到旋转起始位置的代码,对于有重复元素,是不可行的。 下面这道题目,专门针对有重复元素的情况: https://leetcode.com/probl 阅读全文
posted @ 2017-02-26 22:34 blcblc 阅读(261) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/trapping-rain-water https://leetcode.com/problems/trapping-rain-water-ii 这两道题目,一个是一维,一个是二维。都很经典。 基本的做法,可以看这里: https://di 阅读全文
posted @ 2017-02-26 22:19 blcblc 阅读(1172) 评论(0) 推荐(0)
摘要: 刚刚那道BST的题目,也用到了priority_queue,那是那个没有定义比较函数。 那么下面这个,就要定义比较函数。 它的模板声明带有三个参数,priority_queue<Type, Container, Functional> struct cmp{ bool operator() ( No 阅读全文
posted @ 2017-02-26 22:16 blcblc 阅读(685) 评论(0) 推荐(0)
摘要: http://www.cnblogs.com/easonliu/p/4784858.html 很经典。 I是有三种颜色 II是有k种颜色 都是同样的思路,递归并且每次使用其他颜色的最小价格来更新当前颜色的最小价格。 II有一个优化,就是用了 min1和min2来分别记录从两个方向的最小值,用空间换时 阅读全文
posted @ 2017-02-26 22:00 blcblc 阅读(318) 评论(0) 推荐(0)
摘要: http://www.cnblogs.com/jcliBlogger/p/4771342.html 这里给了两种解法,一种是利用C++的priority_queue,然后逐个node输入。 另一种是先找出pre k个,然后找出succ k个,分别利用inorder进栈来排列好。 剪枝,用的是对于>= 阅读全文
posted @ 2017-02-26 21:40 blcblc 阅读(221) 评论(0) 推荐(0)
摘要: 可以看这里 http://www.cnblogs.com/grandyang/p/5190419.html 这又是一个系列的题目。 可以用DFS。而且可以用并差集的思想,来快速的归并多个集合。 阅读全文
posted @ 2017-02-26 21:02 blcblc 阅读(320) 评论(0) 推荐(0)
摘要: 递归,显而易见。 非递归,bfs,是用队列。 而前中后序,一般都是用栈。 一种很直观的方法是,采用一个flag,记录第几次进栈出栈,从而决定是否打印,决定下一个入栈的是左还是右子节点。 但是下面的方法,更近精简和巧妙。 https://discuss.leetcode.com/topic/30632 阅读全文
posted @ 2017-02-26 20:53 blcblc 阅读(329) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/data-stream-as-disjoint-intervals/?tab=Description 这道题目是合并间隔的经典题目。 https://discuss.leetcode.com/topic/46887/java-solutio 阅读全文
posted @ 2017-02-26 20:25 blcblc 阅读(1358) 评论(0) 推荐(0)
摘要: 看这里的解答: http://www.cnblogs.com/grandyang/p/5351347.html 通用解决了2和k的问题。 阅读全文
posted @ 2017-02-26 20:10 blcblc 阅读(225) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/burst-balloons/?tab=Description https://discuss.leetcode.com/topic/30746/share-some-analysis-and-explanations/2 它的方式,是采用 阅读全文
posted @ 2017-02-26 20:04 blcblc 阅读(209) 评论(0) 推荐(0)
摘要: Java是这样的: Map<Character, Integer> map = new HashMap<Character, Integer>(); map.containsKey(c) map.put(c, 1); int x = map.get(temp); 阅读全文
posted @ 2017-02-26 19:47 blcblc 阅读(3240) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/find-the-duplicate-number/?tab=Description 没想到的是,居然重复复用了链表环形追逐的思路。非常的巧妙。而且不需要修改数组里面的数字,不需要修改原数组。 https://discuss.leetcod 阅读全文
posted @ 2017-02-26 19:31 blcblc 阅读(195) 评论(0) 推荐(0)
摘要: 对于两个数,对于结果中,剩余bit1来异或区分。 下面的解法,非常精简: 对于有三个数的情况,复杂一些: 要用到异或结果跟所有数异或的最后一位,再异或。如下: http://blog.csdn.net/sunmenggmail/article/details/8035008 阅读全文
posted @ 2017-02-26 19:17 blcblc 阅读(323) 评论(0) 推荐(0)
摘要: 求个数,和打印全部,都可以用下面这种非常简洁的代码结构,来做。 阅读全文
posted @ 2017-02-26 18:50 blcblc 阅读(215) 评论(0) 推荐(0)
摘要: http://bookshadow.com/leetcode/ 里面的代码很简洁。可以看。 阅读全文
posted @ 2017-02-26 14:05 blcblc 阅读(137) 评论(0) 推荐(0)
摘要: 题目看这里: http://bookshadow.com/weblog/2016/12/11/leetcode-encode-string-with-shortest-length/ 用的是DP,其实也是divide-and-conque,关键是要分解的比较巧妙。 阅读全文
posted @ 2017-02-26 14:04 blcblc 阅读(189) 评论(0) 推荐(0)
摘要: 题目和解答在这里: http://www.cnblogs.com/grandyang/p/5291058.html 真的非常巧妙。和之前那个建房子的题目有点像: http://www.cnblogs.com/charlesblc/p/6444151.html 但是题意比之前建房子这个直接,解法,我本 阅读全文
posted @ 2017-02-26 13:55 blcblc 阅读(262) 评论(0) 推荐(0)
摘要: 题目: https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/?tab=Description 用一个next指针,实现树的每一层的横向连接。 下面这个解法,非常清爽: https://discuss 阅读全文
posted @ 2017-02-26 13:31 blcblc 阅读(316) 评论(0) 推荐(0)