【Leetcode刷题】一月汇总篇
【摘要】
学习总结
文章目录
学习总结Task 01:链表(4 天)第 01 天第 02 天第 03 天第 04 天
Task 02:堆栈与深度优先搜索(5 天)第 05 天第 06 天第 07 天第...
学习总结
Task 01:链表(4 天)
第 01 天
第 02 天
第 03 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0148. | 排序链表 | Python题解 | 自顶向下-递归-归并排序 |
| 0021. | 合并两个有序链表 | 完成 | |
| 0147. | 对链表进行插入排序 | C++题解 | 偷懒直接用STL进行排序然后再连在一起 |
第 04 天
Task 02:堆栈与深度优先搜索(5 天)
第 05 天
第 06 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0150. | 逆波兰表达式求值 | C++题解 | |
| 0394. | 字符串解码 | Python题解 | |
| 0946. | 验证栈序列 | C++题解 | 还可以优化,使得空间复杂度为O(1) |
第 07 天
第 08 天
第 09 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0417. | 太平洋大西洋水流问题 | C++题解 | 逆向思考 |
| 1020. | 飞地的数量 | C++题解 | 和130差不多 |
| 1021. | 统计封闭岛屿的数目 | C++题解 | 2个双层for |
Task 03 单调栈(1 天)
单调栈模板如下,首先下面版本的前提条件(可灵活改动)是找出nums数组中每个元素,对应的右边的第一个更大的元素值。我们利用一个辅助栈stack,从nums数组的最右边开始倒着遍历:
(1)每遍历到当前的元素A,将其和栈顶元素值比较大小,如果栈顶元素值小(矮子去掉)则pop掉,直到出现一个比A大的栈顶元素B;
(2)B即当前元素的res值。
(3)将A入栈,循环以上操作。
vector<int> nextGreaterElement(vector<int>& nums) {
vector<int> res(nums.size()); // 存放答案的数组
stack<int> s;
// 倒着往栈里放
for (int i = nums.size() - 1; i >= 0; i--) {
// 判定个子高矮
while (!s.empty() && s.top() <= nums[i]) {
// 矮个起开,反正也被挡着了。。。
s.pop();
}
// nums[i] 身后的 next great number
res[i] = s.empty() ? -1 : s.top();
//
s.push(nums[i]);
}
return res;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
第 10 天
Task 04:队列与广度优先搜索(3 天)
第 11 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0622. | 设计循环队列 | C++题解 | 动态数组,牺牲一个节点或者vector都行 |
| 0346. | 数据流中的移动平均值 | C++题解 | 滑动窗口,队列 |
| 0225. | 用队列实现栈 | C++题解 | 辅助队列暂存元素 |
第 12 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0286. | 墙与门 | C++题解 | BFS |
| 0752. | 打开转盘锁 | C++题解 | BFS+哈希(可将哈希表改成set) |
| 0279. | 完全平方数 | C++和Python题解 | 动态规划 |
第 13 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0542 | 01矩阵 | ||
| 0322. | 零钱兑换 | C++题解 | 动态规划 |
| 剑指 Offer 13. | 机器人的运动范围 |
Task 05 优先队列(1 天)
第 14 天
| leetcode题号 | 题目 | 题解 | 注意事项 |
|---|---|---|---|
| 0215. | 数组中的第K个最大元素 | C++题解 | 小顶堆 priority_queue |
| 347. | 前 K 个高频元素 | C++题解 | 重写排序cmp |
| 451. | 根据字符出现频率排序 |
学习总计划

文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。
原文链接:andyguo.blog.csdn.net/article/details/122380606
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)