代码拉取完成,页面将自动刷新
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;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。