376. 摆动序列
贪心
class Solution {
public int wiggleMaxLength(int[] nums) {
int prev = 0;
int cur = 0;
int count = 1;
/**
* 遍历时记录前一个差值和当前差值,如果差值正负交替,总数就加1,然后更新前一个差值
* 注意第一次的prev == 0,所以if语句中需要等于0
*/
for (int i = 1; i < nums.length; i++) {
cur = nums[i] - nums[i - 1];
if ((prev <= 0 && cur > 0) || (prev >= 0 && cur < 0)){
count++;
prev = cur;
}
}
return count;
}
}
/**
* 时间复杂度 O(nlogn)
* 空间复杂度 O(n)
*/