Hello coders, This is another problem from GFG practice named “**Number of Islands **“.

**Problem Statement:**

Given a grid of size n*m (n is the number of rows and m is the number of columns in the grid) consisting of ‘0’s (Water) and ‘1’s(Land). Find the number of islands.

**Note: **An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically or diagonally i.e., in all 8 directions.

**Input: **grid = {{0,1},{1,0},{1,1},{1,0}}

**Output: **1

**Explanation: **

The grid is-

0 1

1 0

1 1

1 0

All lands are connected.

## Number of Islands GFG Soution in Java

class Solution { public int numIslands(char[][] grid) { int result = 0; for(int i=0; i<grid.length; i++){ for(int j =0; j<grid[i].length; j++){ if(grid[i][j] == '1'){ numIslandsDfs(grid, i, j); result++; } } } return result; } private void numIslandsDfs(char[][] grid, int i, int j) { if(i<0 || i>=grid.length || j<0 || j>=grid[i].length || grid[i][j] != '1'){ return; } grid[i][j] = '0'; numIslandsDfs(grid, i+1, j); numIslandsDfs(grid, i-1, j); numIslandsDfs(grid, i, j+1); numIslandsDfs(grid, i, j-1); numIslandsDfs(grid, i+1, j+1); numIslandsDfs(grid, i-1, j+1); numIslandsDfs(grid, i+1, j-1); numIslandsDfs(grid, i-1, j-1); } }

**Disclaimer:** This problem**(Minimum Number of Jumps)** is originally created by GeeksforGeeks. Codesagar only provides a solution for it. This solution is only for Educational and learning purposes.