代码随想录:摆动序列
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if (nums.size() <= 1)
return nums.size();
int res = 1;
int prediff = 0;
int curdiff = 0;
//prediff=0的情况仅在第一次进入循环的时候可能出现
for (int i = 1; i < nums.size(); i++) {
curdiff = nums[i] - nums[i - 1];
if ((prediff <= 0 && curdiff > 0) ||
(prediff >= 0 && curdiff < 0)) {
res++;
prediff = curdiff;
}
}
return res;
}
};

浙公网安备 33010602011771号