首页 > 其他 > 详细

376.摆动序列

时间:2020-12-12 12:28:23      阅读:41      评论:0      收藏:0      [点我收藏+]

题目链接:376. 摆动序列

思路:输入数组可以类似于折线图,那么每次波动只保留波峰和波谷就好。

代码:

class Solution {
    public int wiggleMaxLength(int[] nums) {
        int len=0;
        for(int i=0,next = i; i<nums.length-1; ){
            while(next+1<nums.length && nums[next] <= nums[next+1]) next++;//寻找波峰
            if(nums[i] < nums[next]) {
                len++;
            }
            i = next;
            while(next+1<nums.length && nums[next] >= nums[next+1]) next++;//寻找波谷
            if(nums[i] > nums[next]) {
                len++;
            }
            i = next;
        }
        return nums.length < 2 ? nums.length : len + 1;
    }
}
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:36.2 MB, 在所有 Java 提交中击败了37.53%的用户

376.摆动序列

原文:https://www.cnblogs.com/liuyongyu/p/14123780.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!