class Solution {
public:
int dp[1005][2];
int wiggleMaxLength(vector<int>& nums) {
if(nums.size()==1)return 1;
if(nums.size()==2&&nums[1]!=nums[0])return 2;
memset(dp,0,sizeof dp);
dp[0][0]=dp[0][1]=1;//0是波峰,1是波谷
for(int i=1;i<nums.size();i++){
dp[i][0]=dp[i][1]=1;
for(int j=0;j<i;j++){
if(nums[j]>nums[i]){
dp[i][1]=max(dp[i][1],dp[j][0]+1);
}
if(nums[j]<nums[i]){
dp[i][0]=max(dp[i][0],dp[j][1]+1);
}
}
}
return max(dp[nums.size()-1][0],dp[nums.size()-1][1]);
}
};
376. 摆动序列
最新推荐文章于 2024-08-09 20:36:57 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)