2765. 最长交替子数组 ( leetcode 01 - 23 每日 )

链接 : 

最长交替子数组

思路 :

对于每个起点,都是x,x+1,x,x+1....这样的循环,那么枚举每个起点模拟即可 ;

代码 : 

class Solution {
    public int alternatingSubarray(int[] nums) {
        int ans = 0-1 ;
        int n = nums.length  , i = 0 ; 
        while(i < n - 1){
            if(nums[i+1] - nums[i] != 1){
                i ++;
                continue ;
            }
            int i0 = i ;
            i += 2 ;
            while(i < n && nums[i] == nums[i-2]){
                i++ ;
            }
            // 从i0到i-1是满足题目要求的
            ans = Math.max(ans , i - i0) ;
            i -- ;
        }
        return ans ;
    }
}


 

你可能感兴趣的:(leetcode刷题,算法学习,leetcode,算法)