更新 0376.摆动序列 排版格式修正

This commit is contained in:
jinbudaily
2023-07-25 14:48:15 +08:00
parent 29c31ca76f
commit e713f9c90a

View File

@ -33,11 +33,13 @@
- 输入: [1,2,3,4,5,6,7,8,9]
- 输出: 2
# 视频讲解
## 算法公开课
**《代码随想录》算法视频公开课:[贪心算法,寻找摆动有细节!| LeetCode376.摆动序列](https://www.bilibili.com/video/BV17M411b7NS),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[贪心算法,寻找摆动有细节!| LeetCode376.摆动序列](https://www.bilibili.com/video/BV17M411b7NS),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
## 思路 1贪心解法
## 思路
### 思路 1贪心解法
本题要求通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。
@ -69,7 +71,7 @@
2. 情况二:数组首尾两端
3. 情况三:单调坡中有平坡
### 情况一:上下坡中有平坡
#### 情况一:上下坡中有平坡
例如 [1,2,2,2,1]这样的数组,如图:
@ -87,7 +89,7 @@
所以我们记录峰值的条件应该是: `(preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)`,为什么这里允许 prediff == 0 ,就是为了 上面我说的这种情况。
### 情况二:数组首尾两端
#### 情况二:数组首尾两端
所以本题统计峰值的时候,数组最左面和最右面如何统计呢?
@ -142,7 +144,7 @@ public:
所以此时我们要讨论情况三!
### 情况三:单调坡度有平坡
#### 情况三:单调坡度有平坡
在版本一中,我们忽略了一种情况,即 如果在一个单调坡度上有平坡,例如[1,2,2,2,3,4],如图:
@ -187,7 +189,7 @@ public:
![](https://code-thinking-1253855093.file.myqcloud.com/pics/20230108174452.png)
## 思路 2动态规划
### 思路 2动态规划
考虑用动态规划的思想来解决这个问题。
@ -696,4 +698,3 @@ object Solution {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>