Advertisement
vaibhav1906

Number of provinces

Aug 24th, 2022
915
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     void dfs(vector<vector<int>> &graph, int node,vector<bool> &v){
  4.        
  5.         v[node] = true;
  6.        
  7.         for(int i = 0; i<graph[node].size(); i++){
  8.             int newNode = graph[node][i];
  9.             if(!v[newNode]){
  10.                 dfs(graph, newNode, v);
  11.             }
  12.            
  13.         }
  14.        
  15.         return;
  16.        
  17.     }
  18.     int findCircleNum(vector<vector<int>>& M) {
  19.         int n = M.size();
  20.         vector<vector<int>> graph(n);
  21.        
  22.         for(int i = 0; i<n; i++){
  23.             for(int j=0; j<n; j++){
  24.                 if(M[i][j]==1){
  25.                     graph[i].push_back(j);
  26.                 }
  27.             }
  28.         }
  29.        
  30.         int ans = 0;
  31.         vector<bool> v(n,false);
  32.         for(int i = 0; i<n; i++){
  33.             if(!v[i]){
  34.                 dfs(graph, i, v);
  35.                 ans++;
  36.             }
  37.         }
  38.        
  39.         return ans;
  40.     }
  41. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement