File tree Expand file tree Collapse file tree 14 files changed +449
-53
lines changed Expand file tree Collapse file tree 14 files changed +449
-53
lines changed Original file line number Diff line number Diff line change 213
213
* [ 本周小结!(贪心算法系列二)] ( https://mp.weixin.qq.com/s/RiQri-4rP9abFmq_mlXNiQ )
214
214
* [ 贪心算法:加油站] ( https://mp.weixin.qq.com/s/aDbiNuEZIhy6YKgQXvKELw )
215
215
* [ 贪心算法:分发糖果] ( https://mp.weixin.qq.com/s/8MwlgFfvaNYmjGwjuMlETQ )
216
+ * [ 贪心算法:柠檬水找零] ( https://mp.weixin.qq.com/s/0kT4P-hzY7H6Ae0kjQqnZg )
216
217
217
218
218
219
* 动态规划
375
376
| [ 0701.二叉搜索树中的插入操作] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0701.二叉搜索树中的插入操作.md ) | 二叉搜索树 | 简单| ** 递归** ** 迭代** |
376
377
| [ 0705.设计哈希集合] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0705.设计哈希集合.md ) | 哈希表 | 简单| ** 模拟** |
377
378
| [ 0707.设计链表] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0707.设计链表.md ) | 链表 | 中等| ** 模拟** |
379
+ | [ 0714.买卖股票的最佳时机含手续费] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0714.买卖股票的最佳时机含手续费.md ) | 贪心 动态规划 | 中等| ** 贪心** ** 动态规划** 和122.买卖股票的最佳时机II类似,贪心的思路很巧妙|
378
380
| [ 0763.划分字母区间] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0763.划分字母区间.md ) | 贪心 | 中等| ** 双指针/贪心** 体现贪心尽可能多的思想|
379
381
| [ 0738.单调递增的数字] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0738.单调递增的数字.md ) | 贪心算法 | 中等| ** 贪心算法** 思路不错,贪心好题|
380
382
| [ 0739.每日温度] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0739.每日温度.md ) | 栈 | 中等| ** 单调栈** 适合单调栈入门|
388
390
| [ 0973.最接近原点的K个点] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0973.最接近原点的K个点.md ) | 优先级队列 | 中等| ** 优先级队列** |
389
391
| [ 0977.有序数组的平方] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/0977.有序数组的平方.md ) | 数组 | 中等| ** 双指针** 还是比较巧妙的|
390
392
| [ 1002.查找常用字符] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/1002.查找常用字符.md ) | 栈 | 简单| ** 栈** |
391
- | [ 1005.K次取反后最大化的数组和] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/1005.K次取反后最大化的数组和.md ) | 贪心/排序 | ** 贪心算法** 贪心基础题目|
393
+ | [ 1005.K次取反后最大化的数组和] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/1005.K次取反后最大化的数组和.md ) | 贪心/排序 | 简单 | ** 贪心算法** 贪心基础题目|
392
394
| [ 1047.删除字符串中的所有相邻重复项] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/1047.删除字符串中的所有相邻重复项.md ) | 哈希表 | 简单| ** 哈希表/数组** |
393
395
| [ 1049.最后一块石头的重量II] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/1049.最后一块石头的重量II.md ) | 动态规划 | 中等| ** 01背包** |
394
396
| [ 1207.独一无二的出现次数] ( https://github.com/youngyangyang04/leetcode/blob/master/problems/1207.独一无二的出现次数.md ) | 哈希表 | 简单| ** 哈希** 两层哈希|
Original file line number Diff line number Diff line change 1
- > 笔者在BAT从事技术研发多年,利用工作之余重刷leetcode,更多原创文章请关注公众号「代码随想录」。
2
-
3
- # 题目地址
4
-
5
- https://leetcode-cn.com/problems/remove-element/
1
+ <p align =' center ' >
2
+ <img src =" https://img-blog.csdnimg.cn/20201215214102642.png " width =400 >
3
+ </p >
4
+ <p align =" center " >
5
+ <a href =" https://github.com/youngyangyang04/leetcode-master " ><img src =" https://img.shields.io/badge/Github-leetcode--master-lightgrey " alt =" " ></a >
6
+ <a href =" https://img-blog.csdnimg.cn/20201115103410182.png " ><img src =" https://img.shields.io/badge/刷题-微信群-green " alt =" " ></a >
7
+ <a href =" https://img-blog.csdnimg.cn/20201210231711160.png " ><img src =" https://img.shields.io/badge/公众号-代码随想录-brightgreen " alt =" " ></a >
8
+ <a href =" https://space.bilibili.com/525438321 " ><img src =" https://img.shields.io/badge/B站-代码随想录-orange " alt =" " ></a >
9
+ <a href =" https://www.zhihu.com/people/sun-xiu-yang-64 " ><img src =" https://img.shields.io/badge/知乎-代码随想录-blue " alt =" " ></a >
10
+ <a href =" https://www.toutiao.com/c/user/60356270818/#mid=1633692776932365 " ><img src =" https://img.shields.io/badge/头条-代码随想录-red " alt =" " ></a >
11
+ </p >
6
12
7
13
> 移除元素想要高效的话,不是很简单!
8
14
9
15
# 编号:27. 移除元素
10
16
17
+ 题目地址:https://leetcode-cn.com/problems/remove-element/
18
+
11
19
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
12
20
13
21
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并** 原地** 修改输入数组。
@@ -112,7 +120,8 @@ public:
112
120
};
113
121
```
114
122
115
- 拓展: 也可以一个指向前面,一个指向后面,遇到需要删除的就交换,最后返回指针的位置加1,只不过这么做更改了数组元素的位置了,不算是移除元素。
116
-
117
- > 更多算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。
123
+ ** 循序渐进学算法,认准「代码随想录」,Carl手把手带你过关斩将!**
118
124
125
+ <p align =' center ' >
126
+ <img src =" https://img-blog.csdnimg.cn/20201216002707465.jpg " width =200 >
127
+ </p >
Original file line number Diff line number Diff line change 44
44
45
45
这道题目,要在数组中插入目标值,无非是这四种情况。
46
46
47
- < img src = ' ../pics/35_搜索插入位置3 .png' width = 600 > </ img ></ div >
47
+ ![ 35_搜索插入位置3 ] ( https:// img-blog.csdnimg.cn/20201216232148471 .png)
48
48
49
49
* 目标值在数组所有元素之前
50
50
* 目标值等于数组中某一个元素
@@ -85,13 +85,13 @@ public:
85
85
86
86
效率如下:
87
87
88
- < img src = ' ../pics/35_搜索插入位置 .png' width = 600 > </ img ></ div >
88
+ ![ 35_搜索插入位置 ] ( https:// img-blog.csdnimg.cn/20201216232127268 .png)
89
89
90
90
## 二分法
91
91
92
92
既然暴力解法的时间复杂度是O(n),就要尝试一下使用二分查找法。
93
93
94
- < img src = ' ../pics/35_搜索插入位置4 .png' width = 600 > </ img ></ div >
94
+ ![ 35_搜索插入位置4 ] ( https:// img-blog.csdnimg.cn/202012162326354 .png)
95
95
96
96
大家注意这道题目的前提是数组是有序数组,这也是使用二分查找的基础条件。
97
97
@@ -101,7 +101,7 @@ public:
101
101
102
102
大体讲解一下二分法的思路,这里来举一个例子,例如在这个数组中,使用二分法寻找元素为5的位置,并返回其下标。
103
103
104
- < img src = ' ../pics/35_搜索插入位置5 .png' width = 600 > </ img ></ div >
104
+ ![ 35_搜索插入位置5 ] ( https:// img-blog.csdnimg.cn/20201216232659199 .png)
105
105
106
106
二分查找涉及的很多的边界条件,逻辑比较简单,就是写不好。
107
107
@@ -151,7 +151,7 @@ public:
151
151
时间复杂度:O(1)
152
152
153
153
效率如下:
154
- < img src = ' ../pics/35_搜索插入位置2 .png' width = 600 > </ img ></ div >
154
+ ![ 35_搜索插入位置2 ] ( https:// img-blog.csdnimg.cn/2020121623272877 .png)
155
155
156
156
## 二分法第二种写法
157
157
Original file line number Diff line number Diff line change 1
- > 笔者在BAT从事技术研发多年,利用工作之余重刷leetcode,更多原创文章请关注公众号「代码随想录」。
2
1
3
- # 题目地址
4
- https://leetcode-cn.com/problems/spiral-matrix-ii/
2
+ <p align =' center ' >
3
+ <img src =" https://img-blog.csdnimg.cn/20201215214102642.png " width =400 >
4
+ </p >
5
+ <p align =" center " >
6
+ <a href =" https://github.com/youngyangyang04/leetcode-master " ><img src =" https://img.shields.io/badge/Github-leetcode--master-lightgrey " alt =" " ></a >
7
+ <a href =" https://img-blog.csdnimg.cn/20201115103410182.png " ><img src =" https://img.shields.io/badge/刷题-微信群-green " alt =" " ></a >
8
+ <a href =" https://img-blog.csdnimg.cn/20201210231711160.png " ><img src =" https://img.shields.io/badge/公众号-代码随想录-brightgreen " alt =" " ></a >
9
+ <a href =" https://space.bilibili.com/525438321 " ><img src =" https://img.shields.io/badge/B站-代码随想录-orange " alt =" " ></a >
10
+ <a href =" https://www.zhihu.com/people/sun-xiu-yang-64 " ><img src =" https://img.shields.io/badge/知乎-代码随想录-blue " alt =" " ></a >
11
+ <a href =" https://www.toutiao.com/c/user/60356270818/#mid=1633692776932365 " ><img src =" https://img.shields.io/badge/头条-代码随想录-red " alt =" " ></a >
12
+ </p >
13
+
5
14
6
15
> 一进循环深似海,从此offer是路人
7
16
8
17
# 题目59.螺旋矩阵II
9
18
19
+ 题目地址:https://leetcode-cn.com/problems/spiral-matrix-ii/
10
20
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
11
21
12
22
示例:
@@ -48,7 +58,7 @@ https://leetcode-cn.com/problems/spiral-matrix-ii/
48
58
49
59
那么我按照左闭右开的原则,来画一圈,大家看一下:
50
60
51
- < img src = ' ../pics/螺旋矩阵 .png' width = 600 > </ img ></ div >
61
+ ![ 螺旋矩阵 ] ( https:// img-blog.csdnimg.cn/2020121623550681 .png)
52
62
53
63
这里每一种颜色,代表一条边,我们遍历的长度,可以看出每一个拐角处的处理规则,拐角处让给新的一条边来继续画。
54
64
@@ -111,5 +121,9 @@ public:
111
121
}
112
122
};
113
123
```
114
- > 更过算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。
115
124
125
+ ** 循序渐进学算法,认准「代码随想录」,Carl手把手带你过关斩将!**
126
+
127
+ <p align =' center ' >
128
+ <img src =" https://img-blog.csdnimg.cn/20201216002707465.jpg " width =200 >
129
+ </p >
Original file line number Diff line number Diff line change 1
1
## 题目地址
2
2
https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/
3
3
4
- > 给出两个序列
4
+ > 给出两个序列 (可以加unorder_map优化一下)
5
5
6
6
看完本文,可以一起解决如下两道题目
7
7
Original file line number Diff line number Diff line change 1
- ## 题目地址
2
- https://leetcode-cn.com/problems/minimum-size-subarray-sum/
1
+ <p align =' center ' >
2
+ <img src =" https://img-blog.csdnimg.cn/20201215214102642.png " width =400 >
3
+ </p >
4
+ <p align =" center " >
5
+ <a href =" https://github.com/youngyangyang04/leetcode-master " ><img src =" https://img.shields.io/badge/Github-leetcode--master-lightgrey " alt =" " ></a >
6
+ <a href =" https://img-blog.csdnimg.cn/20201115103410182.png " ><img src =" https://img.shields.io/badge/刷题-微信群-green " alt =" " ></a >
7
+ <a href =" https://img-blog.csdnimg.cn/20201210231711160.png " ><img src =" https://img.shields.io/badge/公众号-代码随想录-brightgreen " alt =" " ></a >
8
+ <a href =" https://space.bilibili.com/525438321 " ><img src =" https://img.shields.io/badge/B站-代码随想录-orange " alt =" " ></a >
9
+ <a href =" https://www.zhihu.com/people/sun-xiu-yang-64 " ><img src =" https://img.shields.io/badge/知乎-代码随想录-blue " alt =" " ></a >
10
+ <a href =" https://www.toutiao.com/c/user/60356270818/#mid=1633692776932365 " ><img src =" https://img.shields.io/badge/头条-代码随想录-red " alt =" " ></a >
11
+ </p >
3
12
4
13
> 滑动窗口拯救了你
5
14
6
15
# 题目209.长度最小的子数组
7
16
17
+ 题目链接: https://leetcode-cn.com/problems/minimum-size-subarray-sum/
18
+
8
19
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。
9
20
10
21
示例:
@@ -107,5 +118,9 @@ public:
107
118
时间复杂度:O(n)
108
119
空间复杂度:O(1)
109
120
110
- > 更多算法干货文章持续更新,可以微信搜索「代码随想录」第一时间围观,关注后,回复「Java」「C++」 「python」「简历模板」「数据结构与算法」等等,就可以获得我多年整理的学习资料。
111
121
122
+ ** 循序渐进学算法,认准「代码随想录」,Carl手把手带你过关斩将!**
123
+
124
+ <p align =' center ' >
125
+ <img src =" https://img-blog.csdnimg.cn/20201216002707465.jpg " width =200 >
126
+ </p >
You can’t perform that action at this time.
0 commit comments