Leetcode376
1.问题描述
2.解决方案
本题得到的经验:保持区间波动,只需要把单调区间上的元素移除就可以了,至于代码和思路得多研究研究!
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if(nums.size()<=1) return nums.size();
int preDiff=0;
int curDiff=0;
int result=1;
for(int i=0;i<=nums.size()-2;i++){
curDiff=nums[i+1]-nums[i];
if((curDiff>0&&preDiff<=0)||(curDiff<0&&preDiff>=0)){
result++;
preDiff=curDiff;
}
}
return result;
}
};