1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

滑动窗口最大值

题解思路

这道题的核心是滑动窗口,需要找到每个窗口的最大值。我们可以使用 单调队列(双端队列) 来优化求解。

算法思路:

  1. 维护一个双端队列 deque:
    • 存储数组的索引,而不是值,这样方便判断窗口是否过期。
    • 保证队列内索引对应的值单调递减(即队头最大)。

P4010.滑动窗口的最大值

    1000ms Tried: 4695 Accepted: 1202 Difficulty: 7 所属公司 : Hot100
    算法与标签>队列

Leetcode 239.滑动窗口的最大值-原题链接

题目内容

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

输出 滑动窗口中的最大值 。

输入描述

输入共两行。

  • 第一行为两个个整数,n,kn,kn,k。

  • 第二行为nnn个整数nums0,nums1,...,numsn−1nums_0,nums_1,...,nums_{n-1}nums0​,nums1​,...,numsn−1​,数字之间以空格分隔。

输出描述

如题,输出一行,数字之间以空格分隔。

样例1

输入

8 3
1 3 -1 -3 5 3 6 7

输出

3 3 5 5 6 7

说明

滑动窗口位置 最大值
[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7
1 3 [-1 -3 5] 3 6 7 5
1, 3 -1 [-3 5 3] 6 7
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7

样例2

输入

1 1
1

输出

1

提示

  • 1<=nums.length<=1051 <= nums.length <= 10^51<=nums.length<=105
  • −104<=nums[i]<=104-10^4 <= nums[i] <= 10^4−104<=nums[i]<=104
  • 1<=k<=nums.length1 <= k <= nums.length1<=k<=nums.length

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 291ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?