1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
function test(water) { let result = 0 const row = water.length const col = water[0].length
function dfs(x, y) { water[x][y] = "."
for (let dx = -1; dx <= 1; dx++) { for (let dy = -1; dy <= 1; dy++) { const xp = x + dx const yp = y + dy
if ( xp >= 0 && xp < row && yp >= 0 && yp < col && water[xp][yp] === "w" ) { dfs(xp, yp) } } } }
function print() { console.log("-------------------------") for (let i = 0; i < row; i++) console.log(water[i].join(",")) console.log("-------------------------") }
for (let i = 0; i < row; i++) { for (let j = 0; j < row; j++) { if (water[i][j] === "w") { print() dfs(i, j) result++ } } }
return result }
console.log( test([ ["w", ".", ".", ".", ".", ".", ".", ".", ".", "w", "w", "."], [".", "w", "w", "w", ".", ".", ".", ".", ".", "w", "w", "w"], [".", ".", ".", ".", "w", "w", ".", ".", ".", "w", "w", "."], [".", ".", ".", ".", ".", ".", ".", ".", ".", "w", "w", "."], [".", ".", ".", ".", ".", ".", ".", ".", ".", "w", ".", "."], [".", ".", "w", ".", ".", ".", ".", ".", ".", "w", ".", "."], [".", "w", ".", "w", ".", ".", ".", ".", ".", "w", "w", "."], ["w", ".", "w", ".", "w", ".", ".", ".", ".", ".", "w", "."], [".", "w", ".", "w", ".", ".", ".", ".", ".", ".", "w", "."], [".", ".", "w", ".", ".", ".", ".", ".", ".", ".", "w", "."], ]) )
|