376.[LeetCode]Wiggle Subsequence

来源:互联网 发布:java web框架 编辑:程序博客网 时间:2024/05/12 10:15

时间复杂度为 O(n),满足要求

public class Solution {    public int wiggleMaxLength(int[] nums) {        int size = nums.length;        if(size == 0) return 0;        if(size == 1) return 1;        int count = 1;        int current = 2; // 代表初状态        for(int i=1;i<size;i++){            if(nums[i] == nums[i-1]) continue; // 如果相等,则不计数            if(nums[i] > nums[i-1] && (current == 2 || current == 0)){                count++;                current = 1;                continue;            }            if(nums[i] < nums[i-1] && (current == 2 || current == 1)){                count++;                current = 0;                continue;            }        }        return count;    }}
0 0
原创粉丝点击