Map of Highest Peak LeetCode solution in JavaScript
1var highestPeak = function (isWater) {2const RN = isWater.length,3CN = isWater[0].length;4const output = [...Array(RN)].map(() => Array(CN).fill(-1));5const dir = [6[1, 0],7[-1, 0],8[0, 1],9[0, -1],10];11let queue = [];1213for (let r = 0; r < RN; r++) {14for (let c = 0; c < CN; c++) {15if (isWater[r][c]) {16queue.push([r, c]);17output[r][c] = 0;18}19}20}2122while (queue.length) {23const next = [];2425for (let [r, c] of queue) {26for (let [dr, dc] of dir) {27dr += r;28dc += c;29if (dr < 0 || dc < 0 || dr >= RN || dc >= CN || output[dr][dc] !== -1)30continue;31output[dr][dc] = output[r][c] + 1;32next.push([dr, dc]);33}34}35queue = next;36}37return output;38};