Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. 11110
  2. 11010
  3. 11000
  4. 00000
  5.  
  6. 11000
  7. 11000
  8. 00100
  9. 00011
  10.  
  11. const dfs = (grid, r, c) => {
  12. const NR = grid.length;
  13. const NC = grid[0].length;
  14.  
  15. if (r < 0 || c < 0 || r >= NR || c >= NC || grid[r][c] == '0') {
  16. return;
  17. }
  18.  
  19. grid[r][c] = '0';
  20. dfs(grid, r - 1, c);
  21. dfs(grid, r + 1, c);
  22. dfs(grid, r, c - 1);
  23. dfs(grid, r, c + 1);
  24. }
  25.  
  26. /**
  27. * @param {character[][]} grid
  28. * @return {number}
  29. */
  30. const numIslands = grid => {
  31. if (grid === null || grid.length === 0) {
  32. return 0;
  33. }
  34.  
  35. const NR = grid.length;
  36. const NC = grid[0].length;
  37.  
  38. let numIslands = 0;
  39. for (r = 0; r < NR; ++r) {
  40. for (c = 0; c < NC; ++c) {
  41. if (grid[r][c] == '1') {
  42. ++numIslands;
  43. dfs(grid, r, c);
  44. }
  45. }
  46. }
  47.  
  48. return numIslands;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement