Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0 Star 0 Fork 0

徐云天/leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
_1765.java 1.56 KB
一键复制 编辑 原始数据 按行查看 历史
徐云天 提交于 2021-06-15 17:03 +08:00 . 增加1765
import java.util.ArrayList;
import java.util.List;
public class _1765 {
static class Solution {
public int[][] highestPeak(int[][] isWater) {
int m = isWater.length;
int n = isWater[0].length;
boolean[][] v = new boolean[m][n];
int[][] res = new int[m][n];
List<int[]> cur = new ArrayList<>();
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (isWater[i][j] == 1) {
cur.add(new int[]{i, j});
v[i][j] = true;
}
}
}
int step = 0;
int[][] dirs = {
{0, 1},
{0, -1},
{1, 0},
{-1, 0}
};
while (cur.size() > 0) {
List<int[]> next = new ArrayList<>();
for (int[] node : cur) {
int r = node[0];
int c = node[1];
res[r][c] = step;
for (int[] dir : dirs) {
int nr = r + dir[0];
int nc = c + dir[1];
if (nr < 0 || nc < 0 || nr >= m || nc >= n || v[nr][nc]) {
continue;
}
v[nr][nc] = true;
next.add(new int[]{nr, nc});
}
}
step++;
cur = next;
}
return res;
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/xuyuntian/leetcode.git
git@gitee.com:xuyuntian/leetcode.git
xuyuntian
leetcode
leetcode
master