![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
sinat_35470625
这个作者很懒,什么都没留下…
展开
-
LeetCode 155 最小栈
主要参考: https://blog.csdn.net/SoulOH/article/details/81268064 1.用两个栈实现 2.用一个栈实现,遇到最小值改变的情况需要push或者pop两次。 但在实现过程中,push操作一开始我使用了<而不是<=,wa了。 原因:等号情况下最小值虽然不会改变,但因为pop操作默认在遇到最小值情况下会弹出两次,如果之前之push了...原创 2019-10-02 14:08:19 · 60 阅读 · 0 评论 -
leetcode 64 最小路径和
动态规划,从右下角算到左上角。 class Solution { public: int minPathSum(vector<vector<int>>& grid) { int h = grid.size(), w = grid[0].size(); if(h == 0 && w == 0) return ...原创 2019-10-09 14:16:16 · 88 阅读 · 0 评论 -
leetcode 39 组合总和
回溯法 按照自己总结的标准模版想出来的。 时间击败91% 需要注意的点: 1)传引用,不然修改是无效的 2)for循环跳出是要continue而不是break,不然target=7, candidates=[8,6,3,4]这种时候就会被前面的8直接卡住跳出来,找不到后面的3,4了 3)dfs递归的时候需要传i而不是i+1,因为一个数字可以取多次 class Solution ...原创 2019-10-08 21:30:45 · 79 阅读 · 0 评论 -
leetcode 22 括号生成
回溯法,这里注意 1)string 是可以直接用+号在后面拼接字符的; 2)回溯法的参数(结果,当前序列,序列size,start, end); 3)先写递归结束条件,再写递归,注意push之后要有pop相对应。 class Solution { public: vector<string> generateParenthesis(int n) { v...原创 2019-10-03 18:40:51 · 87 阅读 · 0 评论 -
leetcode 31 下一个排列
注意字典序最大,就是下一个排序,是全部比当前排序大排序中的最小的情况。 因此首先找到第一个反序的位置,之后找到次大数和它交换,再把后面全部数字reverse即可。 class Solution { public: void nextPermutation(vector<int>& nums) { if(nums.size() == 0) retur...原创 2019-10-03 18:13:00 · 49 阅读 · 0 评论 -
leetcode 198 打家劫舍
动态规划入门问题。 tips:初始状态设f(-1) = f(0) = 0,简化运算。 class Solution { public: int rob(vector<int>& nums) { int sz = nums.size(); int res = 0; if(sz == 0) return 0; ...原创 2019-10-03 09:46:04 · 85 阅读 · 0 评论 -
leetcode 141 环形链表
快慢指针典型问题,但我一开始总是报错: Line 18: Char 26: runtime error: member access within null pointer of type 'struct ListNode' (solution.cpp) 但我一直在移动指针之前判断是否非空,不知道为什么会出现这种问题。 后来发现是这个句子 if(p2->next->nex...原创 2019-10-03 09:14:48 · 185 阅读 · 0 评论 -
leetcode 160 相交链表
一开始但想法是 1)先用两个指针从头到尾遍历两个链表,记录下两个链表但长度m,n。 2)两个指针从头开始,让长链表中的指针先走m-n步,然后两个指针一起走,遇到相同的时候就是相交节点。 后来看了官方题解第三种方法,也是两个指针,觉得很有趣就实现了这个方法。 遇到的问题:一开始设置了一个ListNode* res, 没有赋值,在找不到相交节点的时候默认返回res。本以为会返回空节点,跑样例的...原创 2019-10-02 14:45:56 · 66 阅读 · 0 评论