题目
题解
- 图联通问题
- 相当于一维的数组来存储各个点
- 而二维数组每行代表对应点与其他点之间的关系
代码
class Solution {
public:
int findCircleNum(vector<vector<int>>& isConnected) {
int m=isConnected.size();
int n=isConnected[0].size();
int res=0;
for(int i=0;i<m;i++){
if(isConnected[i][i]==1){
isConnected[i][i]=0;
res++;
queue<int> que;
que.push(i);
while(!que.empty()){
auto tmp=que.front();
que.pop();
for(int j=tmp+1;j<n;j++){
if(isConnected[tmp][j]==1){
isConnected[j][j]=0;
isConnected[tmp][j]==0;
que.push(j);
}
}
for(int j=0;j<tmp;j++){
if(isConnected[j][tmp]==1){
isConnected[j][j]=0;
isConnected[j][tmp]=0;
que.push(j);
}
}
}
}
}
return res;
}
};