mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
更新 0239.滑动窗口最大值 排版格式修复
This commit is contained in:
@ -28,11 +28,11 @@
|
|||||||
* -10^4 <= nums[i] <= 10^4
|
* -10^4 <= nums[i] <= 10^4
|
||||||
* 1 <= k <= nums.length
|
* 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)。
|
空间复杂度因为我们定义一个辅助队列,所以是O(k)。
|
||||||
|
|
||||||
# 扩展
|
## 扩展
|
||||||
|
|
||||||
大家貌似对单调队列 都有一些疑惑,首先要明确的是,题解中单调队列里的pop和push接口,仅适用于本题哈。单调队列不是一成不变的,而是不同场景不同写法,总之要保证队列里单调递减或递增的原则,所以叫做单调队列。 不要以为本题中的单调队列实现就是固定的写法哈。
|
大家貌似对单调队列 都有一些疑惑,首先要明确的是,题解中单调队列里的pop和push接口,仅适用于本题哈。单调队列不是一成不变的,而是不同场景不同写法,总之要保证队列里单调递减或递增的原则,所以叫做单调队列。 不要以为本题中的单调队列实现就是固定的写法哈。
|
||||||
|
|
||||||
@ -204,10 +204,10 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
### Java:
|
||||||
|
|
||||||
Java:
|
|
||||||
```Java
|
```Java
|
||||||
//解法一
|
//解法一
|
||||||
//自定义数组
|
//自定义数组
|
||||||
@ -298,7 +298,8 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
### Python:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from collections import deque
|
from collections import deque
|
||||||
|
|
||||||
@ -338,8 +339,7 @@ class Solution:
|
|||||||
return result
|
return result
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Go:
|
||||||
Go:
|
|
||||||
|
|
||||||
```go
|
```go
|
||||||
// 封装单调队列的方式解题
|
// 封装单调队列的方式解题
|
||||||
@ -401,7 +401,8 @@ func maxSlidingWindow(nums []int, k int) []int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Javascript:
|
### Javascript:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* @param {number[]} nums
|
* @param {number[]} nums
|
||||||
@ -449,7 +450,7 @@ var maxSlidingWindow = function (nums, k) {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
TypeScript:
|
### TypeScript:
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
function maxSlidingWindow(nums: number[], k: number): number[] {
|
function maxSlidingWindow(nums: number[], k: number): number[] {
|
||||||
@ -497,7 +498,9 @@ function maxSlidingWindow(nums: number[], k: number): number[] {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
Swift:
|
### Swift:
|
||||||
|
|
||||||
|
解法一:
|
||||||
|
|
||||||
```Swift
|
```Swift
|
||||||
/// 双向链表
|
/// 双向链表
|
||||||
@ -638,7 +641,8 @@ func maxSlidingWindow(_ nums: [Int], _ k: Int) -> [Int] {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
Scala:
|
### Scala:
|
||||||
|
|
||||||
```scala
|
```scala
|
||||||
import scala.collection.mutable.ArrayBuffer
|
import scala.collection.mutable.ArrayBuffer
|
||||||
object Solution {
|
object Solution {
|
||||||
@ -686,8 +690,8 @@ class MyQueue {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### PHP:
|
||||||
|
|
||||||
PHP:
|
|
||||||
```php
|
```php
|
||||||
class Solution {
|
class Solution {
|
||||||
/**
|
/**
|
||||||
@ -764,7 +768,8 @@ class MyQueue{
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
C#:
|
### C#:
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
class myDequeue{
|
class myDequeue{
|
||||||
private LinkedList<int> linkedList = new LinkedList<int>();
|
private LinkedList<int> linkedList = new LinkedList<int>();
|
||||||
@ -805,7 +810,7 @@ class myDequeue{
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
rust:
|
### Rust:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
impl Solution {
|
impl Solution {
|
||||||
|
Reference in New Issue
Block a user