knakul853

Untitled

Jun 6th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int dx[4] = {1, -1, 0,0};
  4.     int dy[4] = {0,0,1,-1};
  5.     int numIslands(vector<vector<char>>& grid) {
  6.         if(grid.empty())return 0;
  7.        
  8.         int n = grid.size();
  9.         int m = grid[0].size();
  10.         int cnt = 0;
  11.        
  12.         for(int i=0;i<n;i++)
  13.         {
  14.             for(int j=0;j<m;j++)
  15.             {
  16.                 if(grid[i][j]=='1'){
  17.                   dfs(i, j, grid);
  18.                       cnt++;
  19.                 }
  20.             }
  21.         }
  22.         return cnt;
  23.        
  24.     }
  25.    
  26.     void dfs(int i,int j,vector<vector<char>>&g)
  27.     {
  28.         g[i][j]='0';
  29.        
  30.         for(int k=0;k<4;k++)
  31.         {
  32.             int nx = i+dx[k];
  33.             int ny = j+dy[k];
  34.             if(nx<0 || ny <0 || nx>=g.size() || ny>=g[0].size() || g[nx][ny]=='0')continue;
  35.             dfs(nx, ny, g);
  36.         }
  37.        
  38.        
  39.     }
  40. };
Add Comment
Please, Sign In to add comment