当前位置: 首页 > article >正文

【重点】【滑动窗口】239. 滑动窗口最大值

题目
也可参考:剑指offer——面试题65:滑动窗口的最大值

class Solution {
    public int[] maxSlidingWindow(int[] nums, int k) {
        int[] res = new int[nums.length - k + 1];
        Deque<Integer> q = new LinkedList<>();
        int inx = 0;
        while (inx < k) {
            if (q.isEmpty()) {
                q.offerLast(nums[inx++]);
            } else {
                while (!q.isEmpty() && q.peekLast() < nums[inx]) {
                    q.pollLast();
                }
                q.offerLast(nums[inx++]);
            }
        }
        res[0] = q.peekFirst(); // inx - k
        while (inx < nums.length) {
            int d = nums[inx - k];
            if (q.peekFirst() == d) {
                q.pollFirst();
            }
            while (!q.isEmpty() && q.peekLast() < nums[inx]) {
                q.pollLast();
            }
            q.offerLast(nums[inx++]);
            res[inx - k] = q.peekFirst();
        }

        return res;
    }
}

http://www.kler.cn/a/157120.html

相关文章:

  • 计算机网络 (9)数据链路层
  • 数据结构(哈希表(中)纯概念版)
  • Elasticsearch检索之三:官方推荐方案search_after检索实现(golang)
  • Jupyter在运行上出现错误:ModuleNotFoundError: No module named ‘wordcloud‘
  • 大语言模型(LLM)中大数据的压缩存储及其重要性
  • 敏捷测试文化的转变
  • Appium:iOS部署
  • 深度学习在训练时更新和保存最佳训练结果的方法(字典方法,本地保存方法,模型深拷贝方法)
  • selenium中元素定位正确但是操作失败,6种解决办法全搞定
  • 六、ZooKeeper Java API操作
  • 【数据结构】——栈|队列(基本功能)
  • Python字符串模糊匹配工具:TheFuzz 库详解
  • 关于使用百度开发者平台处理语音朗读问题排查
  • Spring-Security取消验证-Get请求接口正常,Post请求报错403
  • java后端技术演变杂谈(未完结)
  • c语言笔记之小项目家庭收支记账软件
  • java synchronized详解
  • ruby安装(vscode、rubymine)
  • 「Qt Widget中文示例指南」如何创建一个计算器?(二)
  • 深度学习(五):pytorch迁移学习之resnet50
  • MySQL安装,建立,导入本地Txt文件
  • 寻找两个有序数组的中位数算法(leetcode第4题)
  • Android 7.1 点击清空全部按钮清空一切运行进程(包括后台在播音乐)
  • 【Linux】进程控制--进程创建/进程终止/进程等待/进程程序替换/简易shell实现
  • CPP-SCNUOJ-Problem P29. [算法课指针] 颜色分类,小白偏题超简单方法
  • 前端---JavaScript篇