class Solution {
public int wiggleMaxLength(int[] nums) {
if(nums.length == 0) return 0;
int up = 1;
int down = 1;
for(int i = 1; i < nums.length; i++){
if(nums[i] > nums[i-1]){
up = down + 1;//如果一直增,down始终不变
}
else if(nums[i] < nums[i-1]){
down = up + 1;
}
}
return Math.max(up, down);
}
}
归纳:
贪心算法:up和down分别表示最长的后两位递增和递减序列