239. 滑动窗口最大值

239. 滑动窗口最大值

力扣题目链接(opens new window)

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

返回滑动窗口中的最大值。

进阶:

你能在线性时间复杂度内解决此题吗?

提示:

  • 1 <= nums.length <= 10^5
  • -10^4 <= nums[i] <= 10^4
  • 1 <= k <= nums.length
class myClass{
    Deque<Integer>deque = new LinkedList<>();
    void poll(int val){
        if(!deque.isEmpty()&&val==deque.peek()){
            deque.pop();
        } 
    }
    void add(int val){
        while(!deque.isEmpty()&&val>deque.getLast()){
            deque.removeLast();
        }
        deque.add(val);
    }
    int peek(){
        return deque.peek();
    }
}
class Solution {
    public int[] maxSlidingWindow(int[] nums, int k) {
        if(nums.length==1){//先处理特殊情况
            return nums;
        }
        int len = nums.length-k+1;
        int[] results = new int[len];//放结果
        myClass que =new myClass();//建个自定义队列,把原数组先放K个,然后后续维护这个队列
        for(int i=0;i<k;i++){
            que.add(nums[i]);
        }
        int num=0;
        results[num++] = que.peek();
        for(int i= k;i<nums.length;i++){
            que.poll(nums[i-k]);
            que.add(nums[i]);
            results[num++] = que.peek();
        }
        return results;
    }
}

相关推荐

  1. 【Leetcode】239. 滑动窗口

    2024-04-04 08:20:02       63 阅读
  2. 【LeetCode】239. 滑动窗口

    2024-04-04 08:20:02       55 阅读
  3. Leetcode 239 滑动窗口

    2024-04-04 08:20:02       55 阅读
  4. 239. 滑动窗口

    2024-04-04 08:20:02       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 08:20:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 08:20:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 08:20:02       87 阅读
  4. Python语言-面向对象

    2024-04-04 08:20:02       96 阅读

热门阅读

  1. html根据屏幕分辨率大小字体自动变大缩小

    2024-04-04 08:20:02       35 阅读
  2. 智能中的变体

    2024-04-04 08:20:02       37 阅读
  3. delphi 设置win10 dpi 缩放规则

    2024-04-04 08:20:02       33 阅读
  4. 如何打造一个好的(Vue)组件库?这里有一个清单

    2024-04-04 08:20:02       33 阅读
  5. 大模型中Prompt 攻击和防范

    2024-04-04 08:20:02       38 阅读