From 27cd471ef172362cfdf8621c0c9a1c4edd35863e Mon Sep 17 00:00:00 2001 From: Michael Hunteman Date: Sat, 1 Oct 2022 18:15:49 -0500 Subject: Add Number of Islands --- NumberOfIslands.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 NumberOfIslands.java (limited to 'NumberOfIslands.java') diff --git a/NumberOfIslands.java b/NumberOfIslands.java new file mode 100644 index 0000000..422b80e --- /dev/null +++ b/NumberOfIslands.java @@ -0,0 +1,38 @@ +import java.lang.*; +import java.util.*; + +class NumberOfIslands { + public static void setZero(int y, int x, int[][] grid) { + if (y < 0 || y > grid.length - 1 || x < 0 || x > grid[0].length - 1 || grid[y][x] == 0) + return; + grid[y][x] = 0; + System.out.println("y: " + y + " x: " + x); + setZero(y, x + 1, grid); + setZero(y + 1, x, grid); + setZero(y, x - 1, grid); + setZero(y - 1, x, grid); + } + + public static int numIslands(int[][] grid) { + int num = 0; + for (int y = 0; y < grid.length; y++) { + for (int x = 0; x < grid[y].length; x++) { + if (grid[y][x] == 1) { + num++; + setZero(y, x, grid); + } + } + } + return num; + } + + public static void main(String[] args) { + int[][] grid = { + {1,1,1,1,0}, + {1,1,0,1,0}, + {1,1,0,0,0}, + {0,0,0,1,1} + }; + System.out.println(numIslands(grid)); + } +} -- cgit v1.2.3