classSolution{publicintwiggleMaxLength(int[] nums){//考虑特殊情况if(nums.length <=1)return nums.length;//定义峰值个数即摆动序列长度//针对数组最左或最右,将峰值初始化为1int count =1;//定义当前差值和上一差值进行对比int cur =0;int pre =0;//遍历数组for(int i =1; i < nums.length; i++){
cur = nums[i]- nums[i -1];if((cur >0&& pre <=0)||(cur <0&& pre >=0)){
count++;
pre = cur;}}//返回结果return count;}}