섬의 수 - I
8612 단어 javascriptleetcode
/**
* @param {character[][]} grid
* @return {number}
*/
var numIslands = function (grid) {
let rows = grid.length;
let cols = grid[0].length;
let numberOfIsland = 0;
if (rows.length === 0) {
return 0;
}
for (let i = 0; i < rows; i++) {
for (let j = 0; j < cols; j++) {
if (grid[i][j] === "1") {
markIsland(i, j, grid, rows, cols);
numberOfIsland++;
}
}
}
return numberOfIsland;
};
const markIsland = (i, j, grid, rows, cols) => {
if (i < 0 || j < 0 || i >= rows || j >= cols || grid[i][j] !== "1") {
return;
}
grid[i][j] = 2;
markIsland(i + 1, j, grid, rows, cols);
markIsland(i - 1, j, grid, rows, cols);
markIsland(i, j + 1, grid, rows, cols);
markIsland(i, j - 1, grid, rows, cols);
};
console.log(
numIslands([
["1", "1", "1", "1", "0"],
["1", "1", "0", "1", "0"],
["1", "1", "0", "0", "0"],
["0", "0", "0", "0", "0"],
])
);
Reference
이 문제에 관하여(섬의 수 - I), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zeeshanali0704/number-of-island-i-76c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)