Leetcode
文章平均质量分 67
qq_lzq
这个作者很懒,什么都没留下…
展开
-
leetcode18. 四数之和(如何一次解决)
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。很久没写博客了,主要技术菜 没东西写....... 刷着leetcode题目,刷完三数之和到四数之和, 脑袋想, 万一哪天leetcode来个五数之和, 六数之和.......这不就是套娃题目了吗, 哈哈, 臆想...言归正传, 比如四数之和就是确定一个数字之后求三数之和 , 三数之和就是确立一个数字之和求两数之和....明显的递归啊, 那我写一个通用的函数, 直接改改入参丢上去两道题岂不是AC了?......原创 2022-08-07 11:03:11 · 1382 阅读 · 1 评论 -
best-time-to-buy-and-sell-stock(买卖股票的最好时机)
原题链接如果把股票的价格画成一个折线图的话,题目说最多只进行一次交易,那么就是要找波峰和波谷的最大差值。思路:正向扫描数组, 找到股票的当前最低值(波谷), 如果股票的价格比当前最低值要高(找到一个波峰,更新当前波峰和波谷的差值,即更新一下利润),就更新利润 ,如果低的话, 就把当前最低值指向这个值(又找到一个波谷),继续仿照前面步骤更新(去找这个新找波谷的相对应的波峰。).class So...原创 2019-10-25 23:37:51 · 133 阅读 · 0 评论 -
binary-tree-level-order-traversal(不用队列来实现)
原题链接二叉树的层次遍历,一般都是利用队列来做。此次用一个别人的思路,以节点的深度来标记自己是属于哪一层的,把深度相同的节点直接储存在结果集。很新奇的一个解法。class Solution {public: vector<vector<int> >res; int maxDepth;//记录二叉树的最大深度,这个是为了自己初始化二维向量的维数 vector&l...原创 2019-10-25 10:23:32 · 149 阅读 · 0 评论 -
binary-tree-maximum-path-sum
原题链接总结:对于一个问题不知道如何下手的时候,首先举简单的例子,从中发现问题的解的求解规律。比方说下图的最长的节点的和。可以发现最长的路径和是下图这个路径的最大和的图是这样得出来的。从叶子节点的父节点开始,比如图1中的3,它会选择右节点2,而不是选择器左节点1,也就是说,对于一个节点,他会看其孩子(或者说子树的路径和)哪个最大,然后选择哪一子树(节点)来得到最大路径和。同样根节点...原创 2019-10-24 12:38:04 · 98 阅读 · 0 评论 -
longest-substring-without-repeating-characters(最长不重复字符子串)
原题链接思路一:枚举每个开头, 用map容器统计以此字母开头的每个字母的个数,发现扫描到某个字母出现过了就得出以前面开头的字母的最长不含重复字符的串长度。比如 abca 以 a开头,扫描序列,发现扫描到 第四个字母的时候是 a,a前面出现过了,得出当前最长的串的长度是3。然后以第二个字母b开头,同样的做法,以第三个c开头…时间复杂度是O(N*N) N是字符串的长度class Solut...原创 2019-10-21 10:32:10 · 133 阅读 · 0 评论 -
max-points-on-a-line(最多有多少个点位于同一条直线上)
添加链接描述问题一:如何确定点在同一个直线上? 可以选定一个点,然后根据其他的点到这个点的斜率来判断在同一直线上的点的数目。问题二:如果点和选定的点是垂直的关系怎么办??就是不能直接求斜率了,因为分母为0, 那就直接用一个变量记录就好啦。问题三:如果点和选定的点是重复的怎么办??也是把重复的点记录下来,到时候返回最终结果的时候加上重复的点的个数就好了。思路:遍历每个点,即定一个点, 用m...原创 2019-10-19 19:35:54 · 239 阅读 · 0 评论 -
permutations-ii
https://www.nowcoder.com/practice/a43a2b986ef34843ac4fdd9159b69863?tpId=46&tqId=29132&tPage=6&rp=6&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:生成全排列即可,但是在使用next_permutaio...原创 2019-09-09 19:08:07 · 91 阅读 · 0 评论 -
insert-interval
https://www.nowcoder.com/practice/02418bfb82d64bf39cd76a2902db2190?tpId=46&tqId=29122&tPage=5&rp=5&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:先排序,然后再合并即可/** * Def...原创 2019-09-11 21:45:13 · 137 阅读 · 0 评论 -
jump-game-ii
https://www.nowcoder.com/practice/7250845fb3b946a5a778565adba9d993?tpId=46&tqId=29134&tPage=6&rp=6&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking反思:传参数的时候要注意参数是否对了,比如数组的注意是否从0...原创 2019-09-11 22:52:51 · 165 阅读 · 0 评论 -
search-in-rotated-sorted-array-ii
https://www.nowcoder.com/practice/d942d1aabf5549b0b53af55f1d4432e4?tpId=46&tqId=29097&tPage=4&rp=4&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:顺序查找即可思路二:二分查找。class...原创 2019-09-13 10:47:46 · 125 阅读 · 0 评论 -
set-matrix-zeroes
https://www.nowcoder.com/practice/9ff9256075a1498fb165b583d951ebd4?tpId=46&tqId=29105&tPage=4&rp=4&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:扫描数组的每个元素, 比如在(x, y)这个位置上是...原创 2019-09-13 12:20:48 · 89 阅读 · 0 评论 -
3sum-closest(最近三数之和)
https://www.nowcoder.com/practice/291a866d7c904563876b373b0b157dde?tpId=46&tqId=29162&tPage=4&rp=4&ru=/ta/leetcode&qru=/ta/leetcode/question-rankingn^3的做法.把所有情况都列举出来class Solu...原创 2019-09-07 19:52:01 · 139 阅读 · 0 评论 -
rotate-list
https://www.nowcoder.com/practice/afbec6b9d4564c63b2c149ccc01c5678?tpId=46&tqId=29118&tPage=5&rp=5&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking题目连题意都说不清楚,坑。。其实题意就是(假设链表的长度为n...原创 2019-09-07 17:42:31 · 112 阅读 · 0 评论 -
merge-intervals(合并区间)
https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a?tpId=46&tqId=29123&tPage=5&rp=5&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:先排序,以左端点小的放在前面,左端点相同,就以右端点...原创 2019-09-07 11:45:37 · 932 阅读 · 0 评论 -
permutation-sequence
https://www.nowcoder.com/practice/186c35e87f7b45beaa556dbbf670759e?tpId=46&tqId=29119&tPage=5&rp=5&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:调用STL的生成下一个数的全排列的函数即可。求第K个全...原创 2019-09-07 16:05:54 · 166 阅读 · 0 评论 -
partition-list
https://www.nowcoder.com/practice/1dc1036be38f45f19000e48abe00b12f?tpId=46&tqId=29092&tPage=4&rp=4&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:把小于x的链表的值放到队列1,把大于或者等于x的值放到...原创 2019-09-06 21:54:01 · 187 阅读 · 0 评论 -
add-binary(二进制相加)
https://www.nowcoder.com/practice/c8c9f42c19194aa88781efefef4df44b?tpId=46&tqId=29113&tPage=5&rp=5&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking题目不难, 就是模拟竖式运算,此做题记录提醒自己写单字符...原创 2019-09-06 15:54:30 · 360 阅读 · 0 评论 -
first-missing-positive
https://www.nowcoder.com/practice/ea7ca311264d4c579a1ef6c1f7f69138?tpId=46&tqId=29138&tPage=6&rp=6&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:对数组先排序,然后设定一个指针p从1开始,正向扫描数...原创 2019-09-06 15:15:13 · 75 阅读 · 0 评论 -
median-of-two-sorted-arrays(排序数组的中位数)
https://www.nowcoder.com/practice/82c11b9392b14f3abfbf257f79a76025?tpId=46&tqId=29176&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:把数组A和B合并到一个数组C,因为A,B是有序的...原创 2019-09-06 09:31:58 · 254 阅读 · 0 评论 -
3sum
https://www.nowcoder.com/practice/345e2ed5f81d4017bbb8cc6055b0b711?tpId=46&tqId=29163&tPage=7&rp=7&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking还是先排序然后指针移动指针查找数的题目:定一个数字,最...原创 2019-09-17 10:18:26 · 116 阅读 · 0 评论 -
reorder-list(重新排序链表)【以空间换时间加快】
https://www.nowcoder.com/practice/3d281dc0b3704347846a110bf561ef6b?tpId=46&tqId=29037&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:思路一是非常耗时但是很容易想到的办法, 按照题意改写...原创 2019-09-15 09:52:50 · 109 阅读 · 0 评论 -
reverse-nodes-in-k-group(每组k个节点反转链表)
https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e?tpId=46&tqId=29154&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:无论链表的题目要求怎样删除节点, 修改节点指针等等,有...原创 2019-10-18 22:19:04 · 175 阅读 · 0 评论 -
evaluate-reverse-polish-notation
https://www.nowcoder.com/practice/22f9d7dd89374b6c8289e44237c70447?tpId=46&tqId=29031&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:数字的就直接入栈,操作数的就弹出数字栈栈顶两个数...原创 2019-10-01 11:25:42 · 112 阅读 · 0 评论 -
implement-strstr
https://www.nowcoder.com/practice/cc0c03ec17ad44c09d25870c301e0db7?tpId=46&tqId=29151&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-rankingKMP算法:话说评测机是不是。。。比如样例 "", ""...原创 2019-10-01 10:15:19 · 129 阅读 · 0 评论 -
linked-list-cycle-ii
https://www.nowcoder.com/practice/6e630519bf86480296d0f1c868d425ad?tpId=46&tqId=29038&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:先找到环中的一个节点,然后从这个节点出发去统计环中的节...原创 2019-09-29 11:51:23 · 100 阅读 · 0 评论 -
sum-root-to-leaf-numbers
https://www.nowcoder.com/practice/185a87cd29eb42049132aed873273e83?tpId=46&tqId=29051&tPage=2&rp=2&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:把根节点到叶子节点的路径储存到一个数组res去,最后把...原创 2019-09-17 13:43:22 · 89 阅读 · 0 评论 -
valid-palindrome
https://www.nowcoder.com/practice/b4dc0f1ee20448fca1f387fb1546f43f?tpId=46&tqId=29055&tPage=2&rp=2&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking反思:又犯了字符加空格的错误,编译器不会报字符里面有空格的错...原创 2019-09-17 10:17:01 · 117 阅读 · 0 评论 -
longest-consecutive-sequence(最长连续序列)
https://www.nowcoder.com/practice/57d83a2501164168841c158a7535b458?tpId=46&tqId=29052&tPage=2&rp=2&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking关于Set用法链接:Set用法链接思路一:题目说要O(n...原创 2019-09-17 09:24:18 · 300 阅读 · 0 评论 -
remove-nth-node-from-end-of-list
https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6?tpId=46&tqId=29159&tPage=7&rp=7&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路一:用map容器记录某一号节点是什么节点,然后修改即可。...原创 2019-09-15 11:50:41 · 87 阅读 · 0 评论 -
add-two-numbers(两数字相加)
https://www.nowcoder.com/practice/56f8d422eae04f129c8e5a05299ae275?tpId=46&tqId=29174&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:模拟加法竖式运算即可/** * Definit...原创 2019-09-06 08:58:41 · 336 阅读 · 0 评论 -
divide-two-integers
https://www.nowcoder.com/practice/472c6e8772bd4f1299fbe4a60f3b54f7?tpId=46&tqId=29150&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:除数成倍的减少,统计减少多少次class Sol...原创 2019-09-05 23:46:17 · 181 阅读 · 0 评论 -
roman-to-integer
https://www.nowcoder.com/practice/817fdd12bd3341349a0079f74e692ebf?tpId=46&tqId=29165&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking题意:就是将罗马数字转化为十进制整数罗马数字表字符...原创 2019-08-21 17:15:27 · 79 阅读 · 0 评论 -
populating-next-right-pointers-in-each-node
https://www.nowcoder.com/practice/fdbd05d647084fcf9be78444e231998b?tpId=46&tqId=29064&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking左孩子的右兄弟还找,next比较好求,注意右孩子的next指...原创 2019-08-21 17:15:20 · 110 阅读 · 0 评论 -
swap-nodes-in-pairs(成对交换节点)
https://www.nowcoder.com/practice/64a7ee97b02042c189b35e3608e336ae?tpId=46&tqId=29155&tPage=2&rp=2&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking题目说只能使用常量级别空间,那么可以交换节点的值即可,但是交...原创 2019-09-17 10:20:37 · 256 阅读 · 0 评论 -
generate-parentheses(括号生成)
https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca?tpId=46&tqId=29157&tPage=2&rp=2&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking一开始来了一个很直接的做法,生成括号的全排列储存到一个数组里...原创 2019-08-24 20:10:39 · 221 阅读 · 0 评论 -
linked-list-cycle
https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9?tpId=46&tqId=29039&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking题意:判断给定的链表有没有环思路:设定一快指针,一慢指针...原创 2019-08-21 17:14:52 · 100 阅读 · 0 评论 -
Leetcode 11 盛最多水的容器
https://leetcode-cn.com/problems/container-with-most-water/submissions/思路:双指针。计算每次的体积并更新最大体积,i = 0, j = 最右边钢板的所在的位置 当i < j的时候如果height[i]< height[j] 则i++ 即去掉短板,寻求更高 的板(因为i, j 之间的距离是缩减的,即底减少,...原创 2019-08-21 17:14:46 · 175 阅读 · 0 评论 -
unique-paths(不同路径)递归+动归的做法
https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358?tpId=46&tqId=29117&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:动态规划,很明显在(x,y)到终点的位置的方法数...原创 2019-08-23 11:19:20 · 253 阅读 · 0 评论 -
maximum-subarray(分治求最大连续子串和)
https://www.nowcoder.com/practice/32139c198be041feb3bb2ea8bc4dbb01?tpId=46&tqId=29126&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking思路:分治思想,把整个数组从中间劈开成两段,那么最大子串和...原创 2019-08-21 17:15:49 · 547 阅读 · 0 评论 -
single-number
题目描述Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without usi...原创 2019-08-21 17:14:40 · 70 阅读 · 0 评论