Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
coolalex776
Fucking Algorithm
提交
730391bd
F
Fucking Algorithm
项目概览
coolalex776
/
Fucking Algorithm
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Fucking Algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
730391bd
编写于
3月 07, 2021
作者:
B
BruceCat
提交者:
GitHub
3月 07, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #525 from Justlxb0124/patch-2
【239.滑动窗口最大值】【Java】
上级
a69048b0
88fe014e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
48 addition
and
2 deletion
+48
-2
数据结构系列/单调队列.md
数据结构系列/单调队列.md
+48
-2
未找到文件。
数据结构系列/单调队列.md
浏览文件 @
730391bd
...
...
@@ -210,4 +210,51 @@ vector<int> maxSlidingWindow(vector<int>& nums, int k) {
<img
src=
"../pictures/qrcode.jpg"
width=
200
>
</p>
======其他语言代码======
\ No newline at end of file
======其他语言代码======
```
java
class
Solution
{
public
int
[]
maxSlidingWindow
(
int
[]
nums
,
int
k
)
{
int
len
=
nums
.
length
;
// 判断数组或者窗口长度为0的情况
if
(
len
*
k
==
0
)
{
return
new
int
[
0
];
}
/*
采用两端扫描的方法
将数组分成大小为 k 的若干个窗口, 对每个窗口分别从左往右和从右往左扫描, 记录扫描的最大值
left[] 记录从左往右扫描的最大值
right[] 记录从右往左扫描的最大值
*/
int
[]
left
=
new
int
[
len
];
int
[]
right
=
new
int
[
len
];
for
(
int
i
=
0
;
i
<
len
;
i
=
i
+
k
)
{
// 每个窗口中的第一个值
left
[
i
]
=
nums
[
i
];
// 窗口的最后边界
int
index
=
i
+
k
-
1
>=
len
?
len
-
1
:
i
+
k
-
1
;
// 每个窗口的最后一个值
right
[
index
]
=
nums
[
index
];
// 对该窗口从左往右扫描
for
(
int
j
=
i
+
1
;
j
<=
index
;
j
++)
{
left
[
j
]
=
Math
.
max
(
left
[
j
-
1
],
nums
[
j
]);
}
// 对该窗口从右往左扫描
for
(
int
j
=
index
-
1
;
j
>=
i
;
j
--)
{
right
[
j
]
=
Math
.
max
(
right
[
j
+
1
],
nums
[
j
]);
}
}
int
[]
arr
=
new
int
[
len
-
k
+
1
];
// 对于第 i 个位置, 它一定是该窗口从右往左扫描数组中的最后一个值, 相对的 i + k - 1 是该窗口从左向右扫描数组中的最后一个位置
// 对两者取最大值即可
for
(
int
i
=
0
;
i
<
len
-
k
+
1
;
i
++)
{
arr
[
i
]
=
Math
.
max
(
right
[
i
],
left
[
i
+
k
-
1
]);
}
return
arr
;
}
}
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录