knakul853

Untitled

Jun 6th, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int findCircleNum(vector<vector<int>>& M) {
  4.        
  5.         int n = (int)M.size();
  6.         if(!n) return 0;
  7.        
  8.         int cnt_circle=0;
  9.        
  10.         vector<int>visit(n, 0);
  11.         for(int i=0; i<n;i++)
  12.         {
  13.             if( !visit[i] )
  14.             {
  15.                 dfs(i, visit, M);
  16.                 cnt_circle++;
  17.             }
  18.         }
  19.        
  20.         return cnt_circle;
  21.        
  22.     }
  23.    
  24.     void dfs(int node, vector<int>&visit, vector<vector<int>>&M)
  25.     {
  26.         visit[node] = 1;
  27.        
  28.         for( int i=0;i<(int)M[node].size();i++ )
  29.         {
  30.             if( !visit[i] && M[node][i] == 1)
  31.             {
  32.                 dfs(i, visit, M);
  33.             }
  34.         }
  35.     }
  36. };
Add Comment
Please, Sign In to add comment