Thursday 29 July 2021

Number of Islands - LeetCode 200

 Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands.

An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

 

Example 1:

Input: grid = [
  ["1","1","1","1","0"],
  ["1","1","0","1","0"],
  ["1","1","0","0","0"],
  ["0","0","0","0","0"]
]
Output: 1

Example 2:

Input: grid = [
  ["1","1","0","0","0"],
  ["1","1","0","0","0"],
  ["0","0","1","0","0"],
  ["0","0","0","1","1"]
]
Output:

Constraints:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 300
  • grid[i][j] is '0' or '1'

 

Solution:

Note: Only function is written

class Solution {

    public int numIslands(char[][] grid) {

        

        int count=0;

        

        for(int i=0;i<grid.length;i++){

            for(int j=0;j<grid[i].length;j++){

                if(grid[i][j]=='1'){

                    count+=1;

                    fun(grid,i,j);

                }

            }

        }

        return count;

        

    }

    

    public void fun(char[][] grid,int i,int j){

        if(i<0 || i>=grid.length || j<0 || j>=grid[i].length || grid[i][j]=='0')

            return;

        

        grid[i][j]='0';

        fun(grid,i-1,j);

        fun(grid,i+1,j);

        fun(grid,i,j-1);

        fun(grid,i,j+1);    

       }

}

Output:

Your input
[["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]]
Output
1
Expected
1

No comments:

Post a Comment

Random password generator in Java

       Random password generator in Java Source code: mport java.io.*; import java.util.*; public class Main { public static void main(Str...