class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if(nums.size()<2) return nums.size();
int flag=0; //flag为1表示前一段序列是上升的,为-1表示前一段是下降的
int len=1;
for(int i=1;i<nums.size();++i)
{
if(nums[i]>nums[i-1] && (flag==-1||flag==0)){++len;flag=1;} //本段上升且前一段下降
else if(nums[i]<nums[i-1] && (flag==1||flag==0)){++len;flag=-1;}
}
return len;
}
};
leetcode376 摆动序列
最新推荐文章于 2021-03-09 14:55:00 发布