0
点赞
收藏
分享

微信扫一扫

594. 最长和谐子序列

婉殇成长笔记 2022-04-14 阅读 25
算法

594. 最长和谐子序列

双指针+ 滑动窗口 

class Solution {
    public int findLHS(int[] nums) {
        Arrays.sort(nums);
        int left = 0;  //左指针
        int right = 1; //右指针
        int result = 0;
        for (; right < nums.length; right++) {
            // 当差值 大于1时,并且 左指针没有超过右指针时,通过移动左指针来 维护 差值=1
            while (((nums[right] - nums[left]) > 1) && (left < right)) {
                left++;
            }
            if ((nums[right] - nums[left]) == 1) {
                int ans =right - left + 1;
                result = Math.max(ans,result); 
            }
        }
        return result;
    }
}
举报

相关推荐

0 条评论