WEEK3
是提升的一周!好好总结体会,多写几遍加深理解~冲呀
Day1
#155 最小栈
借助另外一个最小栈:栈顶元素为当前栈最小值,初始化丢进去一个INT_MAX
#239 滑动窗口最大值
优先队列具有最高级先出 (first in, largest out)的行为特征
先来个错的
要一直判断当前max在不在窗口左侧
#3 无重复字符的最长子串
#221 最大正方形
取决于其他三个小块的状态,只有自己是,且其他三个都是才能扩大边长。
#85 最大矩形
Day2
#200 岛屿数量
#329 矩阵中的最长递增路径
就是弄个缓存矩阵存储结果如果之前有就直接拿嘛,思路有代码虽然挺丑但为什么wrong answer呢……
——写的和想的不是一回事系列,应该是变化完方向之后再判断下标,我这么写就是四个方向都能走才能进入计算~
全局变量杀我……(不是
#113 路径总和 II
有17行就不用21 22再判断了,就是从根一直走到叶子 如果targetsum还不是0就弹出,遇到一个叶子结点就先压进它的值,再做判断,再递归,然后回溯找解。
#39 组合总和
和上一题一样的框架,这里应该是一个完全背包问题,然后注意这里没有负数
#40 组合总和 II
Day3
#23 合并K个升序链表
分治大法好!
#143 重排链表
自己的解法:
官题解答:先找中点,然后后半部分reverse,最后重新合并左右链表
#105 从前序与中序遍历序列构造二叉树
#148 排序链表
Day4
#56 合并区间
为啥13行用emplace_back不行 是不是没有这玩意儿?回头百度一下
#169 多数元素
去年写过,对这个摩尔投票印象蛮深的,此外一般的hash sort 分治也都可以做,有空都写一遍(一定要写!!!!0321
#41 缺失的第一个正数
method1——奇妙hash
method2——置换
注意第七行是while
#11 盛最多水的容器
双指针
#128 最长连续序列
#312 戳气球
好好体会
Day5
#322 零钱兑换
算一个最少硬币数,要一个结果,先遍历背包再遍历物品,对于每一个背包容量我物品的最佳选取方式
#518 零钱兑换 II
算所有的可能性,并不要最优结果,要所有的选取方式
#122 买卖股票的最佳时机 II
劝人炒股 (x
有利可图就卖掉,但这个不能代表实际操作过程
#123 买卖股票的最佳时机 III
关注每一天的最终状态
#188 买卖股票的最佳时机 IV
前一题基础上再抽象一下