随笔分类 -  LeetCode Medium

摘要:全排列的题不用全排列做 阅读全文
posted @ 2019-01-07 15:48 Travelller 阅读(131) 评论(0) 推荐(0)
摘要:单纯减法不行,需要用到位运算。 a<<b表示 a*(2^b). LeetCode出现了令人惊恐的同一段代码不同运行时间的情况..... 阅读全文
posted @ 2018-09-15 00:22 Travelller 阅读(120) 评论(0) 推荐(0)
摘要:考察链表操作。 阅读全文
posted @ 2018-08-12 22:54 Travelller 阅读(129) 评论(0) 推荐(0)
摘要:这道题想不出来是因为没有抽象出他的数学模型——对于每一个位置,前面左括号的个数都大于等于右括号个数。 阅读全文
posted @ 2018-08-12 18:32 Travelller 阅读(98) 评论(0) 推荐(0)
摘要:链表题。很简单但是debug了非常久。 愚蠢如我...把所有地址存在数组里。空间复杂度... 非常巧妙的方法,保持两个指针差n个位置,使后面的指针指向最后一个,前面的指针即为倒数第n. 阅读全文
posted @ 2018-08-12 10:35 Travelller 阅读(89) 评论(0) 推荐(0)
摘要:深搜广搜 & 递归转非递归 阅读全文
posted @ 2018-08-09 23:28 Travelller 阅读(100) 评论(0) 推荐(0)
摘要:难点在于不能有重复。 开始的思路是先两两求和,然后对得到的新序列求2Sum,但是很难排重。本想利用set<set<int>>排重,结果因为stl内部实现机制,应该是做不到。 可行的思路是,外层暴力fix前两个数,内层一个循环固定后两个数。还是注意排重。 阅读全文
posted @ 2018-08-09 22:12 Travelller 阅读(93) 评论(0) 推荐(0)
摘要:类似上一题15 3Sum 看到有人把代码写的很简洁,也放上来。 阅读全文
posted @ 2018-08-09 16:07 Travelller 阅读(95) 评论(0) 推荐(0)
摘要:求无序数列中三个数和为0的所有情况。 思路:排序。外层循环fix第一个数O(n)。内层循环O(n)同时寻找第二个和第三个数和为第一个数的相反数:考虑到不能出现重复情况,所以内层循环每次从第一个数的下一个值进行循环;两个指针分别指向第一个数的下一个数,和序列的最后一个数,如果三个数之和大于0,右指针向 阅读全文
posted @ 2018-08-09 12:11 Travelller 阅读(101) 评论(0) 推荐(0)
摘要:很简单。直接打表。 emm但是似乎大部分人认真找规律写的代码... 阅读全文
posted @ 2018-08-07 15:49 Travelller 阅读(109) 评论(0) 推荐(0)
摘要:暴力O(n^2),但是可以通过一些“剪枝”使其达到O(n),但是证明是一个问题。 We starts with the widest container, l = 0 and r = n - 1. Let's say the left one is shorter: h[l] < h[r]. The 阅读全文
posted @ 2018-08-07 14:49 Travelller 阅读(84) 评论(0) 推荐(0)
摘要:很简单。不要忽略特殊情况x=INT_MIN处理(the 32-bit signed integer range: [−2^31, 2^31 − 1])。 阅读全文
posted @ 2018-08-07 11:29 Travelller 阅读(83) 评论(0) 推荐(0)
摘要:很简单,不要忽略numRows=1的特殊情况处理。 approach 1:按结果顺序直接计算每个位置的下标 approach 2:依次原字符串顺序依次读取每个位置,每行一个字符串,最后每行相加。 阅读全文
posted @ 2018-08-07 10:22 Travelller 阅读(113) 评论(0) 推荐(0)
摘要:求字符串的最长回文子串。 阅读全文
posted @ 2018-08-06 23:39 Travelller 阅读(120) 评论(0) 推荐(0)
摘要:hashset/unordered_map; 2 pointers 阅读全文
posted @ 2018-06-01 23:52 Travelller 阅读(87) 评论(0) 推荐(0)
摘要:链表 阅读全文
posted @ 2018-06-01 15:24 Travelller 阅读(114) 评论(0) 推荐(0)