class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if (nums.size() < 2) return nums.size();
int res =1;
vector<vector<int>> dp(nums.size(), vector<int>(2,1));
for (int i=1; i<nums.size(); i++){
for (int j=0; j<i; j++){
if (nums[j] > nums[i]){
dp[i][0] = max(dp[i][0], dp[j][1]+1);
}
if (nums[j] < nums[i]){
dp[i][1] = max(dp[i][1], dp[j][0]+1);
}
}
res = max(max(dp[i][0], dp[i][1]), res);
}
return res;
}
};