Map of Highest Peak LeetCode solution in JavaScript

1
var highestPeak = function (isWater) {
2
const RN = isWater.length,
3
CN = isWater[0].length;
4
const output = [...Array(RN)].map(() => Array(CN).fill(-1));
5
const dir = [
6
[1, 0],
7
[-1, 0],
8
[0, 1],
9
[0, -1],
10
];
11
let queue = [];
12

13
for (let r = 0; r < RN; r++) {
14
for (let c = 0; c < CN; c++) {
15
if (isWater[r][c]) {
16
queue.push([r, c]);
17
output[r][c] = 0;
18
}
19
}
20
}
21

22
while (queue.length) {
23
const next = [];
24

25
for (let [r, c] of queue) {
26
for (let [dr, dc] of dir) {
27
dr += r;
28
dc += c;
29
if (dr < 0 || dc < 0 || dr >= RN || dc >= CN || output[dr][dc] !== -1)
30
continue;
31
output[dr][dc] = output[r][c] + 1;
32
next.push([dr, dc]);
33
}
34
}
35
queue = next;
36
}
37
return output;
38
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0