Merge pull request #958 from Tiffany-yuan/master

update: 0376.摆动序列 js动态规划解法
This commit is contained in:
程序员Carl
2021-12-28 16:22:31 +08:00
committed by GitHub

View File

@ -261,6 +261,7 @@ func wiggleMaxLength(nums []int) int {
``` ```
### Javascript ### Javascript
**贪心**
```Javascript ```Javascript
var wiggleMaxLength = function(nums) { var wiggleMaxLength = function(nums) {
if(nums.length <= 1) return nums.length if(nums.length <= 1) return nums.length
@ -277,6 +278,25 @@ var wiggleMaxLength = function(nums) {
return result return result
}; };
``` ```
**动态规划**
```Javascript
var wiggleMaxLength = function(nums) {
if (nums.length === 1) return 1;
// 考虑前i个数当第i个值作为峰谷时的情况则第i-1是峰顶
let down = 1;
// 考虑前i个数当第i个值作为峰顶时的情况则第i-1是峰谷
let up = 1;
for (let i = 1; i < nums.length; i++) {
if (nums[i] < nums[i - 1]) {
down = Math.max(up + 1, down);
}
if (nums[i] > nums[i - 1]) {
up = Math.max(down + 1, up)
}
}
return Math.max(down, up);
};
```
----------------------- -----------------------
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div> <div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>