From 5a6bf6d85534e304e73460d67db006f5c1475657 Mon Sep 17 00:00:00 2001 From: jinbudaily <18336218010@163.com> Date: Thu, 20 Jul 2023 15:01:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=200239.=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E6=9C=80=E5=A4=A7=E5=80=BC=20=E6=8E=92?= =?UTF-8?q?=E7=89=88=E6=A0=BC=E5=BC=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0239.滑动窗口最大值.md | 37 +++++++++++++++----------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/problems/0239.滑动窗口最大值.md b/problems/0239.滑动窗口最大值.md index f1c4b76c..6f420479 100644 --- a/problems/0239.滑动窗口最大值.md +++ b/problems/0239.滑动窗口最大值.md @@ -28,11 +28,11 @@ * -10^4 <= nums[i] <= 10^4 * 1 <= k <= nums.length +## 算法公开课 +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[单调队列正式登场!| LeetCode:239. 滑动窗口最大值](https://www.bilibili.com/video/BV1XS4y1p7qj),相信结合视频再看本篇题解,更有助于大家对本题的理解**。 -# 思路 - -《代码随想录》算法视频公开课:[单调队列正式登场!| LeetCode:239. 滑动窗口最大值](https://www.bilibili.com/video/BV1XS4y1p7qj),相信结合视频在看本篇题解,更有助于大家对本题的理解。 +## 思路 这是使用单调队列的经典题目。 @@ -196,7 +196,7 @@ public: 空间复杂度因为我们定义一个辅助队列,所以是O(k)。 -# 扩展 +## 扩展 大家貌似对单调队列 都有一些疑惑,首先要明确的是,题解中单调队列里的pop和push接口,仅适用于本题哈。单调队列不是一成不变的,而是不同场景不同写法,总之要保证队列里单调递减或递增的原则,所以叫做单调队列。 不要以为本题中的单调队列实现就是固定的写法哈。 @@ -204,10 +204,10 @@ public: -# 其他语言版本 +## 其他语言版本 +### Java: -Java: ```Java //解法一 //自定义数组 @@ -298,7 +298,8 @@ class Solution { } ``` -Python: +### Python: + ```python from collections import deque @@ -338,8 +339,7 @@ class Solution: return result ``` - -Go: +### Go: ```go // 封装单调队列的方式解题 @@ -401,7 +401,8 @@ func maxSlidingWindow(nums []int, k int) []int { } ``` -Javascript: +### Javascript: + ```javascript /** * @param {number[]} nums @@ -449,7 +450,7 @@ var maxSlidingWindow = function (nums, k) { }; ``` -TypeScript: +### TypeScript: ```typescript function maxSlidingWindow(nums: number[], k: number): number[] { @@ -497,7 +498,9 @@ function maxSlidingWindow(nums: number[], k: number): number[] { }; ``` -Swift: +### Swift: + +解法一: ```Swift /// 双向链表 @@ -638,7 +641,8 @@ func maxSlidingWindow(_ nums: [Int], _ k: Int) -> [Int] { return result } ``` -Scala: +### Scala: + ```scala import scala.collection.mutable.ArrayBuffer object Solution { @@ -686,8 +690,8 @@ class MyQueue { } ``` +### PHP: -PHP: ```php class Solution { /** @@ -764,7 +768,8 @@ class MyQueue{ } ``` -C#: +### C#: + ```csharp class myDequeue{ private LinkedList linkedList = new LinkedList(); @@ -805,7 +810,7 @@ class myDequeue{ } ``` -rust: +### Rust: ```rust impl Solution {