Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1340cc3

Browse files
Merge pull request youngyangyang04#2205 from jinbudaily/master
更新 贪心算法章节 排版格式修复
2 parents cbb5bb5 + 26afd7e commit 1340cc3

20 files changed

+85
-75
lines changed

‎problems/0045.跳跃游戏II.md‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
说明:
2626
假设你总是可以到达数组的最后一个位置。
2727

28-
#视频讲解
28+
## 算法公开课
2929

30-
**《代码随想录》算法视频公开课:[贪心算法,最少跳几步还得看覆盖范围 | LeetCode: 45.跳跃游戏 II](https://www.bilibili.com/video/BV1Y24y1r7XZ),相信结合视频在看本篇题解,更有助于大家对本题的理解**
30+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,最少跳几步还得看覆盖范围 | LeetCode: 45.跳跃游戏 II](https://www.bilibili.com/video/BV1Y24y1r7XZ),相信结合视频在看本篇题解,更有助于大家对本题的理解**
3131

3232
## 思路
3333

@@ -53,7 +53,7 @@
5353

5454
**图中覆盖范围的意义在于,只要红色的区域,最多两步一定可以到!(不用管具体怎么跳,反正一定可以跳到)**
5555

56-
## 方法一
56+
### 方法一
5757

5858
从图中可以看出来,就是移动下标达到了当前覆盖的最远距离下标时,步数就要加一,来增加覆盖距离。最后的步数就是最少步数。
5959

@@ -90,7 +90,7 @@ public:
9090
* 空间复杂度: O(1)
9191
9292
93-
## 方法二
93+
### 方法二
9494
9595
依然是贪心,思路和方法一差不多,代码可以简洁一些。
9696
@@ -469,3 +469,4 @@ impl Solution {
469469
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
470470
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
471471
</a>
472+

‎problems/0052.N皇后II.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,3 +310,4 @@ class Solution {
310310
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
311311
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
312312
</a>
313+

‎problems/0053.最大子序和(动态规划).md‎

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
## 算法公开课
1919

20-
**《代码随想录》算法视频公开课:[看起来复杂,其实是简单动态规划 | LeetCode:53.最大子序和](https://www.bilibili.com/video/BV19V4y1F7b5),相信结合视频再看本篇题解,更有助于大家对本题的理解**
20+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[看起来复杂,其实是简单动态规划 | LeetCode:53.最大子序和](https://www.bilibili.com/video/BV19V4y1F7b5),相信结合视频再看本篇题解,更有助于大家对本题的理解**
2121

2222

2323
## 思路
@@ -97,8 +97,8 @@ public:
9797
9898
## 其他语言版本
9999
100+
### Java:
100101
101-
Java:
102102
```java
103103
/**
104104
* 1.dp[i]代表当前下标对应的最大值
@@ -140,7 +140,8 @@ class Solution {
140140
}
141141
```
142142

143-
Python:
143+
### Python:
144+
144145
```python
145146
class Solution:
146147
def maxSubArray(self, nums: List[int]) -> int:
@@ -153,7 +154,8 @@ class Solution:
153154
return result
154155
```
155156

156-
Go:
157+
### Go:
158+
157159
```Go
158160
// solution
159161
// 1, dp
@@ -184,7 +186,7 @@ func max(a,b int) int{
184186
}
185187
```
186188

187-
JavaScript:
189+
### JavaScript:
188190

189191
```javascript
190192
const maxSubArray = nums => {
@@ -203,8 +205,7 @@ const maxSubArray = nums => {
203205
};
204206
```
205207

206-
207-
Scala:
208+
### Scala:
208209

209210
```scala
210211
object Solution {
@@ -221,7 +222,7 @@ object Solution {
221222
}
222223
```
223224

224-
TypeScript:
225+
### TypeScript:
225226

226227
```typescript
227228
function maxSubArray(nums: number[]): number {
@@ -244,3 +245,4 @@ function maxSubArray(nums: number[]): number {
244245
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
245246
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
246247
</a>
248+

‎problems/0055.跳跃游戏.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
- 输出: false
2727
- 解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。
2828

29-
#视频讲解
29+
## 算法公开课
3030

31-
**《代码随想录》算法视频公开课:[贪心算法,怎么跳跃不重要,关键在覆盖范围 | LeetCode:55.跳跃游戏](https://www.bilibili.com/video/BV1VG4y1X7kB),相信结合视频在看本篇题解,更有助于大家对本题的理解**
31+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,怎么跳跃不重要,关键在覆盖范围 | LeetCode:55.跳跃游戏](https://www.bilibili.com/video/BV1VG4y1X7kB),相信结合视频在看本篇题解,更有助于大家对本题的理解**
3232

3333
## 思路
3434

‎problems/0056.合并区间.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
* 解释: 区间 [1,4][4,5] 可被视为重叠区间。
2323
* 注意:输入类型已于2019年4月15日更改。 请重置默认代码定义以获取新方法签名。
2424

25-
#视频讲解
25+
## 算法公开课
2626

27-
**《代码随想录》算法视频公开课:[贪心算法,合并区间有细节!LeetCode:56.合并区间](https://www.bilibili.com/video/BV1wx4y157nD),相信结合视频在看本篇题解,更有助于大家对本题的理解**
27+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,合并区间有细节!LeetCode:56.合并区间](https://www.bilibili.com/video/BV1wx4y157nD),相信结合视频在看本篇题解,更有助于大家对本题的理解**
2828

2929
## 思路
3030

@@ -341,3 +341,4 @@ impl Solution {
341341
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
342342
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
343343
</a>
344+

‎problems/0122.买卖股票的最佳时机II.md‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@
3737
- 1 <= prices.length <= 3 \* 10 ^ 4
3838
- 0 <= prices[i] <= 10 ^ 4
3939

40-
#视频讲解
40+
## 算法公开课
4141

42-
**《代码随想录》算法视频公开课:[贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机 II](https://www.bilibili.com/video/BV1ev4y1C7na),相信结合视频在看本篇题解,更有助于大家对本题的理解**
42+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机 II](https://www.bilibili.com/video/BV1ev4y1C7na),相信结合视频在看本篇题解,更有助于大家对本题的理解**
4343

4444
## 思路
4545

@@ -316,7 +316,7 @@ function maxProfit(prices: number[]): number {
316316
}
317317
```
318318

319-
### Rust
319+
### Rust:
320320

321321
贪心:
322322

@@ -389,7 +389,7 @@ int maxProfit(int* prices, int pricesSize){
389389
}
390390
```
391391

392-
### Scala
392+
### Scala:
393393

394394
贪心:
395395

@@ -411,3 +411,4 @@ object Solution {
411411
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
412412
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
413413
</a>
414+

‎problems/0134.加油站.md‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,14 @@
4545
* 解释:
4646
你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。我们从 2 号加油站出发,可以获得 4 升汽油。 此时油箱有 = 0 + 4 = 4 升汽油。开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。因此,无论怎样,你都不可能绕环路行驶一周。
4747

48-
#视频讲解
48+
## 算法公开课
4949

50-
**《代码随想录》算法视频公开课:[贪心算法,得这么加油才能跑完全程!LeetCode :134.加油站](https://www.bilibili.com/video/BV1jA411r7WX),相信结合视频在看本篇题解,更有助于大家对本题的理解**
50+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,得这么加油才能跑完全程!LeetCode :134.加油站](https://www.bilibili.com/video/BV1jA411r7WX),相信结合视频在看本篇题解,更有助于大家对本题的理解**
5151

52+
## 思路
5253

53-
## 暴力方法
54+
55+
### 暴力方法
5456

5557
暴力的方法很明显就是O(n^2)的,遍历每一个加油站为起点的情况,模拟一圈。
5658

@@ -85,7 +87,7 @@ public:
8587
* 空间复杂度:O(1)
8688
8789
88-
## 贪心算法(方法一)
90+
### 贪心算法(方法一)
8991
9092
直接从全局进行贪心选择,情况如下:
9193
@@ -134,7 +136,7 @@ public:
134136

135137
但不管怎么说,解法毕竟还是巧妙的,不用过于执着于其名字称呼。
136138

137-
## 贪心算法(方法二)
139+
### 贪心算法(方法二)
138140

139141
可以换一个思路,首先如果总油量减去总消耗大于等于零那么一定可以跑完一圈,说明 各个站点的加油站 剩油量rest[i]相加一定是大于等于零的。
140142

@@ -633,3 +635,4 @@ object Solution {
633635
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
634636
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
635637
</a>
638+

‎problems/0135.分发糖果.md‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
* 输出: 4
2929
* 解释: 你可以分别给这三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这已满足上述两个条件。
3030

31-
#视频讲解
31+
## 算法公开课
3232

33-
**《代码随想录》算法视频公开课:[贪心算法,两者兼顾很容易顾此失彼!LeetCode:135.分发糖果](https://www.bilibili.com/video/BV1ev4y1r7wN),相信结合视频在看本篇题解,更有助于大家对本题的理解**
33+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,两者兼顾很容易顾此失彼!LeetCode:135.分发糖果](https://www.bilibili.com/video/BV1ev4y1r7wN),相信结合视频在看本篇题解,更有助于大家对本题的理解**
3434

3535

3636
## 思路
@@ -234,7 +234,7 @@ func findMax(num1 int, num2 int) int {
234234
}
235235
```
236236

237-
### Javascript:
237+
### Javascript
238238
```Javascript
239239
var candy = function(ratings) {
240240
let candys = new Array(ratings.length).fill(1)
@@ -376,3 +376,4 @@ object Solution {
376376
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
377377
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
378378
</a>
379+

‎problems/0376.摆动序列.md‎

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,13 @@
3333
- 输入: [1,2,3,4,5,6,7,8,9]
3434
- 输出: 2
3535

36-
#视频讲解
36+
## 算法公开课
3737

38-
**《代码随想录》算法视频公开课:[贪心算法,寻找摆动有细节!| LeetCode:376.摆动序列](https://www.bilibili.com/video/BV17M411b7NS),相信结合视频在看本篇题解,更有助于大家对本题的理解**
38+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,寻找摆动有细节!| LeetCode:376.摆动序列](https://www.bilibili.com/video/BV17M411b7NS),相信结合视频在看本篇题解,更有助于大家对本题的理解**
3939

40-
## 思路 1(贪心解法)
40+
## 思路
41+
42+
### 思路 1(贪心解法)
4143

4244
本题要求通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。
4345

@@ -69,7 +71,7 @@
6971
2. 情况二:数组首尾两端
7072
3. 情况三:单调坡中有平坡
7173

72-
### 情况一:上下坡中有平坡
74+
#### 情况一:上下坡中有平坡
7375

7476
例如 [1,2,2,2,1]这样的数组,如图:
7577

@@ -87,7 +89,7 @@
8789

8890
所以我们记录峰值的条件应该是: `(preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)`,为什么这里允许 prediff == 0 ,就是为了 上面我说的这种情况。
8991

90-
### 情况二:数组首尾两端
92+
#### 情况二:数组首尾两端
9193

9294
所以本题统计峰值的时候,数组最左面和最右面如何统计呢?
9395

@@ -142,7 +144,7 @@ public:
142144
143145
所以此时我们要讨论情况三!
144146
145-
### 情况三:单调坡度有平坡
147+
#### 情况三:单调坡度有平坡
146148
147149
在版本一中,我们忽略了一种情况,即 如果在一个单调坡度上有平坡,例如[1,2,2,2,3,4],如图:
148150
@@ -187,7 +189,7 @@ public:
187189

188190
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230108174452.png)
189191

190-
## 思路 2(动态规划)
192+
### 思路 2(动态规划)
191193

192194
考虑用动态规划的思想来解决这个问题。
193195

@@ -696,4 +698,3 @@ object Solution {
696698
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
697699
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
698700
</a>
699-

‎problems/0406.根据身高重建队列.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@
3737

3838
题目数据确保队列可以被重建
3939

40-
#视频讲解
40+
## 算法公开课
4141

42-
**《代码随想录》算法视频公开课:[贪心算法,不要两边一起贪,会顾此失彼 | LeetCode:406.根据身高重建队列](https://www.bilibili.com/video/BV1EA411675Y),相信结合视频在看本篇题解,更有助于大家对本题的理解**
42+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法,不要两边一起贪,会顾此失彼 | LeetCode:406.根据身高重建队列](https://www.bilibili.com/video/BV1EA411675Y),相信结合视频在看本篇题解,更有助于大家对本题的理解**
4343

4444
## 思路
4545

@@ -402,3 +402,4 @@ object Solution {
402402
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
403403
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
404404
</a>
405+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /