摘要: https://leetcode.com/problems/longest consecutive sequence/ 这个问题做到O(n)还是需要动一番脑筋。注意:不是找最长递增子序列。 思路:注意到每个元素必属于一个连续递增序列,而且不会出现重复,有点并查集的感觉。所以我们只要找到每个元素所属的 阅读全文
posted @ 2017-06-14 22:08 mioopoi 阅读(331) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/find all duplicates in an array/ /description 像这种数组元素大小能够被bound且和数组size扯上关系,要条件反射想到类似bucket的做法。 类似的题: leetcode 41 first 阅读全文
posted @ 2017-06-14 17:05 mioopoi 阅读(135) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/encode and decode tinyurl 一种做法是对于每一个请求的longURL,从0开始按递增的顺序用一个整数与之对应,这个整数就是对longURL的编码,同时做为索引;对短网址解码时,解析出短网址中的整数信息,查找原来的长网 阅读全文
posted @ 2017-06-14 16:03 mioopoi 阅读(2583) 评论(0) 推荐(1)
摘要: https://leetcode.com/problems/largest rectangle in histogram/ /description 再次做,还是没能第一时间写出bug free的最佳解法。 这是一道很好的题,暴力/DP做是O(n^2),分治(以最矮的矩形为分界点)做是O(nlogn 阅读全文
posted @ 2017-06-14 12:55 mioopoi 阅读(301) 评论(0) 推荐(0)
摘要: 每次push,都push到stack1 每次pop,如果stack2为空,就把stack1中的所有元素“倒入”stack2,这样就使得最先进入stack1的元素又回到了栈顶 阅读全文
posted @ 2017-06-13 00:24 mioopoi 阅读(117) 评论(0) 推荐(0)
摘要: http://hihocoder.com/problemset/problem/1307 首先,如果左、右边界被圆分离开,就意味着无法穿越雷区。 把上、下边界以及N个圆抽象成N+2个图节点,当边界与圆或圆与圆之间相交时表示它们连通,问题就转变为判断从上边界到下边界是否存在路径。建图后从上边界跑一遍D 阅读全文
posted @ 2017-06-12 10:39 mioopoi 阅读(259) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/first missing positive/ /description 找到一个解法并不难,困难的是如何做到不用额外空间并且O(n)时间。根据要求来推算法的话,基本上就只能想办法利用问题本身的性质了。时间O(n)额外空间O(1)的算法一定 阅读全文
posted @ 2017-06-11 10:32 mioopoi 阅读(534) 评论(0) 推荐(0)
摘要: http://www.lintcode.com/zh cn/problem/reorder array to construct the minimum number/ 暴力枚举是肯定不可行的,那样复杂度太高(阶乘级)。仔细想想,最优解中两个数字m和n是什么样?一定是mn拼接和nm拼接较小的那个所对 阅读全文
posted @ 2017-06-10 23:21 mioopoi 阅读(158) 评论(0) 推荐(0)
摘要: http://www.lintcode.com/zh cn/problem/print numbers by recursion/ 做法类似于打印全排列,走一遍全排列的枚举树,从最高位开始一位一位地遍历,直到最低位形成一个数字,每一位都有0~9(十叉树)。 cpp class Solution { 阅读全文
posted @ 2017-06-09 22:02 mioopoi 阅读(443) 评论(0) 推荐(0)
摘要: http://www.lintcode.com/zh cn/problem/assignment operator overloading c only/ 还是有很多点需要注意的。 1. 判断 与传入的 是否是同一个对象,相同的话直接返回 就可以了。 2. 判断传入对象的数组是否为空,空的话就不必复 阅读全文
posted @ 2017-06-05 23:35 mioopoi 阅读(144) 评论(0) 推荐(0)
摘要: http://hihocoder.com/contest/hiho153/problem/1 时间限制: 20000ms 单点时限: 2000ms 内存限制: 256MB 描述 小Hi最近在分析一支股票的价格走势,他需要一个程序来辅助分析。这个程序会接收3种消息(指令): 价格信息 ,格式是 :表示 阅读全文
posted @ 2017-06-05 09:40 mioopoi 阅读(329) 评论(0) 推荐(0)
摘要: 一个行和列都有序的矩阵,找出其中第k小的元素。 问题链接: http://www.lintcode.com/en/problem/kth smallest number in sorted matrix/ Brute Force 最暴力的方式是把矩阵里所有元素存到一个数组里,然后对数组排序后输出第k 阅读全文
posted @ 2017-06-04 15:33 mioopoi 阅读(222) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/subarray sum equals k/ /description 要求是找数组中满足 的子数组数量,其中`i & nums, int k) { if (nums.empty()) return 0; int n = nums.size 阅读全文
posted @ 2017-06-03 16:13 mioopoi 阅读(426) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/add and search word data structure design/ /description Prefix Tree的构建和查找。 插入单词的时候,挨个字符插入即可,记得最后做个标记(表示到这里是一个完整的单词) 查找某个 阅读全文
posted @ 2017-06-02 15:41 mioopoi 阅读(407) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/implement trie prefix tree/ /description 实现前缀树。 阅读全文
posted @ 2017-06-02 15:40 mioopoi 阅读(124) 评论(0) 推荐(0)