首页 > 其他 > 详细

LeetCode 1438

时间:2020-05-05 19:21:15      阅读:77      评论:0      收藏:0      [点我收藏+]

https://leetcode-cn.com/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/

一道滑动窗口的题目,滑动窗口还很容易想到,就是这个测试用例很烦人。

技术分享图片

 

 这个全部都是1的测试用例,如果直接使用滑动窗口做的话会TLE,后来偷鸡用了点小技巧才过了。双100%。

class Solution {
    public int longestSubarray(int[] nums, int limit) {
        int fast = 1;
        int slow = 0;
        int max = 1;
        for(;fast < nums.length; fast++){
//如果这个字符与上一个是一样的话,就不需要进行判断了,因为上一个满/足最大的差值<limit的话,当前这个也会满足。如果不加会导致TLE
            if(nums[fast] != nums[fast-1]){
                for(int j = slow; j < fast; j++){
                    if(Math.abs(nums[fast] - nums[j]) > limit){
                        slow = j + 1;
                    }
                }
            }
            max = Math.max(max,fast-slow+1);
        }
        return max;

    }
}

 

LeetCode 1438

原文:https://www.cnblogs.com/ZJPaang/p/12831777.html

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