1.题目
思路(Java语言描述)
其实就是 求无向图的连通块个数, DFS 即可
class Solution {
int cnt = 0;
int rowLen;
int colLen;
public int findCircleNum(int[][] M) {
rowLen = M.length;
colLen = M[0].length;
int[] visited = new int[rowLen];
for(int i = 0;i<rowLen;i++){
if(visited[i] == 0){
visited[i] = 1;
dfs(M,visited,i);
cnt++;
}
}
return cnt;
}
public void dfs(int[][] M,int[] visited,int i){
for(int j = 0;j<colLen;j++){
if(visited[j]!=1 && M[i][j] == 1){
visited[j] = 1;
dfs(M,visited,j);
}
}
}
}
原创不易,请勿转载(
本不富裕的访问量雪上加霜)
博主首页:https://blog.csdn.net/weixin_43967679
如果文章对你有帮助,记得关注点赞收藏❤😊