理念
- 多阶段决策最优解模型
- 最优子结构
- 无后效性
-
解题
确定 dp 数组以及下标的含义
- 确定递推公式
- dp 数组如何初始化
- 确定遍历顺序
举例推导 dp 数组
var wiggleMaxLength = function(nums) {const n = nums.length;if (n < 2) {return n;}let up = down = 1;for (let i = 1; i < n; i++) {if (nums[i] > nums[i - 1]) {up = Math.max(up, down + 1);} else if (nums[i] < nums[i - 1]) {down = Math.max(up + 1, down);}}return Math.max(up, down);};
