LeetCode(算法)- 239. 滑动窗口最大值

Posted 程序员牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(算法)- 239. 滑动窗口最大值相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:略。

解题思路:略。

相关企业

  • 华为
  • 字节跳动
  • 微软(Microsoft)
  • Shopee
  • 优步(Uber)
  • 谷歌(Google)
  • 高盛集团(Goldman Sachs)
  • Facebook
  • DoorDash
  • 亚马逊(Amazon)

AC 代码

class Solution 
    public int[] maxSlidingWindow(int[] nums, int k) 
        if(nums.length == 0 || k == 0) return new int[0];
        Deque<Integer> deque = new LinkedList<>();
        int[] res = new int[nums.length - k + 1];
        // 未形成窗口
        for(int i = 0; i < k; i++) 
            while(!deque.isEmpty() && deque.peekLast() < nums[i])
                deque.removeLast();
            deque.addLast(nums[i]);
        
        res[0] = deque.peekFirst();
        // 形成窗口后
        for(int i = k; i < nums.length; i++) 
            if(deque.peekFirst() == nums[i - k])
                deque.removeFirst();
            while(!deque.isEmpty() && deque.peekLast() < nums[i])
                deque.removeLast();
            deque.addLast(nums[i]);
            res[i - k + 1] = deque.peekFirst();
        
        return res;
    

以上是关于LeetCode(算法)- 239. 滑动窗口最大值的主要内容,如果未能解决你的问题,请参考以下文章

⭐算法入门⭐《队列 - 单调队列》困难01 —— LeetCode 239. 滑动窗口最大值

leetcode_239. 滑动窗口最大值

Leetcode 239.滑动窗口最大值

leetcode 239. 滑动窗口最大值

LeetCode 239. 滑动窗口最大值

LeetCode #239 滑动窗口最大值