class Solution {
public int wiggleMaxLength(int[] nums) {
if (nums.length<2)
{
return nums.length;
}
int begin =0;
int up =1;
int down =2;
int state =begin;
int max = 1;
for (int i = 1 ; i<nums.length ;i++){
switch (state){
case 0:
if (nums[i]>nums[i-1])
{
state=up;
max++;
}
else if (nums[i]<nums[i-1])
{
state=down;
max++;
}
break;
case 1:
if (nums[i]<nums[i-1])
{
state=down;
max++;
}
break;
case 2:
if (nums[i]>nums[i-1])
{
state=up;
max++;
}
break;
}
}
return max;
}
}
public int wiggleMaxLength(int[] nums) {
if (nums.length<2)
{
return nums.length;
}
int begin =0;
int up =1;
int down =2;
int state =begin;
int max = 1;
for (int i = 1 ; i<nums.length ;i++){
switch (state){
case 0:
if (nums[i]>nums[i-1])
{
state=up;
max++;
}
else if (nums[i]<nums[i-1])
{
state=down;
max++;
}
break;
case 1:
if (nums[i]<nums[i-1])
{
state=down;
max++;
}
break;
case 2:
if (nums[i]>nums[i-1])
{
state=up;
max++;
}
break;
}
}
return max;
}
}