Monday, 30 March 2026

SDE GRAPH NO of Islands

 class Solution {

public:
void DFS(int r,int c,vector<vector<char>>&grid,int n,int m,vector<vector<int>>&visited,int color){
int rn[]={0,0,1,-1};
int cn[]={-1,1,0,0};
visited[r][c]=color;
for(int i=0;i<4;i++){
int rnxt=r+rn[i];
int cnxt=c+cn[i];
if(rnxt>=0&&rnxt<n&&cnxt>=0&&cnxt<m)if(!visited[rnxt][cnxt]&&grid[rnxt][cnxt]=='1')DFS(rnxt,cnxt,grid,n,m,visited,color);
//if(cnxt>=0&&cnxt<m)if(!visited[rnxt][cnxt])DFS(rnxt,cnxt,grid,n,m,visited);
}
}
int numIslands(vector<vector<char>>& grid) {
int n=grid.size();
int m=grid[0].size();
vector<vector<int>>visited(n,vector<int>(m,0));
int color=1;
for(int i=0;i<n;i++){
for(int j=0;j<grid[i].size();j++){
if(!visited[i][j]&&grid[i][j]=='1'){
DFS(i,j,grid,n,m,visited,color);
color++;

}
}
}
return color-1;
}
};

No comments:

Post a Comment

SDE floyd-warshall algorithm

 // User function template for C++ class Solution {   public:     void floydWarshall(vector<vector<int>> &dist) {         //...