Hot🔥100 邪修极速复盘思路P3
hot🔥100 全部思路现已奉上 并附有一些模版和方法帮助各位uu面试前快速复习激活思路 文字省略部分看图即可
栈
69.有效的括号:奇数 return false 哈希表保存对应关系 左括号入
右括号判断栈顶左括号对应关系
70.最小栈:栈中保存添加元素 和 前缀最小值 初始化栈底添加Integer.MAX_VALUE(+∞)哨兵对应栈为空
71.字符串解码:DFS递归 k[encoded_string] 嵌套的括号从内到外解码
72.每日温度:单调栈 从右到左(peek是索引小数值更大数)从左到右(todolist)
73.柱状图中最大的矩形:单调栈 存储 柱子下标 遍历过程找每个柱子左边界(第一个比它矮的柱子)和右边界(第一个比它矮的柱子)
堆
74.数组中的第k个最大元素:(找下标n - k元素)快排 随机数选择pivot(遇到大量重复元素会退化到O(n<sup>2</sup>))
两种思路:1-把 < pivot 改成 ≤ pivot三路划分:小于、等于和大于基准数的所有元素
75.前k个高频元素:🪣桶排序 哈希表现统计元素出现次数 出现次数相同元素放入同一个桶,然后倒序遍历桶
76.数据流的中位数:大小堆 最大堆比最小堆多一个数
贪心
77.买卖股票的最佳时机:更新minPrice 找最大prices[i] - minPrice
78.跳跃游戏:维护最右可达位置max,i > max return false
79.跳跃游戏II:更新从当前所有位置能跳到的最远位置 当走到当前跳跃能到达的最远位置进行一次新的跳跃
80.划分字母区间:遍历字符串,计算字母的最后出现下标(last[i])合并区间
动态规划
递推 - 状态转移方程初始值 - 递归边界
0-1背包每个物品只能选 0 个或 1 个分割等和子集、子集和问题
完全背包每个物品可以选任意多次零钱兑换、完全平方数问题
0-1 背包:物品唯一,怕重复 → 倒序遍历
完全背包:物品无限,要重复 → 正序遍历
多维动态规划
技巧
#算法# #后端# #手撕代码# #力扣刷题#
栈
69.有效的括号:奇数 return false 哈希表保存对应关系 左括号入
右括号判断栈顶左括号对应关系
70.最小栈:栈中保存添加元素 和 前缀最小值 初始化栈底添加Integer.MAX_VALUE(+∞)哨兵对应栈为空
71.字符串解码:DFS递归 k[encoded_string] 嵌套的括号从内到外解码
72.每日温度:单调栈 从右到左(peek是索引小数值更大数)从左到右(todolist)
73.柱状图中最大的矩形:单调栈 存储 柱子下标 遍历过程找每个柱子左边界(第一个比它矮的柱子)和右边界(第一个比它矮的柱子)
堆
74.数组中的第k个最大元素:(找下标n - k元素)快排 随机数选择pivot(遇到大量重复元素会退化到O(n<sup>2</sup>))
两种思路:1-把 < pivot 改成 ≤ pivot三路划分:小于、等于和大于基准数的所有元素
75.前k个高频元素:🪣桶排序 哈希表现统计元素出现次数 出现次数相同元素放入同一个桶,然后倒序遍历桶
76.数据流的中位数:大小堆 最大堆比最小堆多一个数
贪心
77.买卖股票的最佳时机:更新minPrice 找最大prices[i] - minPrice
78.跳跃游戏:维护最右可达位置max,i > max return false
79.跳跃游戏II:更新从当前所有位置能跳到的最远位置 当走到当前跳跃能到达的最远位置进行一次新的跳跃
80.划分字母区间:遍历字符串,计算字母的最后出现下标(last[i])合并区间
动态规划
递推 - 状态转移方程初始值 - 递归边界
0-1背包每个物品只能选 0 个或 1 个分割等和子集、子集和问题
完全背包每个物品可以选任意多次零钱兑换、完全平方数问题
0-1 背包:物品唯一,怕重复 → 倒序遍历
完全背包:物品无限,要重复 → 正序遍历
多维动态规划
技巧
#算法# #后端# #手撕代码# #力扣刷题#
全部评论
有链接吗
相关推荐
点赞 评论 收藏
分享
查看8道真题和解析