打卡图论10.24

n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。

省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。

给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。

返回矩阵中

复制代码
输入:isConnected = [[1,1,0],[1,1,0],[0,0,1]]
输出:2

的数量。

cpp 复制代码
class Solution {
public:
    void dfs(vector<vector<int>>& isConnected, vector<int>& visit, int len, int i){
        for(int  j = 0; j < len; j ++){
            if(isConnected[i][j] == 1 && !visit[j]) {  //如果i,j连通并且j没有被访问过
                visit[j] = 1;                          //将j加入
                dfs(isConnected, visit, len, j);       //以j为原点遍历其他点
            }
        }
    }

    int findCircleNum(vector<vector<int>>& isConnected) {
        int len = isConnected.size();
        vector<int> visit(len);
        int ans = 0;
        for( int i = 0; i < len; i ++){
            if(visit[i] == 0){  //从(0,0)开始往后
                dfs( isConnected, visit, len, i);
                ans ++;
            }
        } 
        return ans; 
    }
};

力扣运行要在他的环境下运行,想要运行可以自己转换一下,我用的这个方法是深度优先搜索

相关推荐
✿ ༺ ོIT技术༻4 天前
Linux:TCP和守护进程
linux·运维·服务器·网络·tcp/ip·1024程序员节
辅助东皇燕双鹰8 天前
行测知识()
1024程序员节
深蓝易网11 天前
探寻制造型企业MES管理系统:功能、架构与应用全解析
大数据·运维·人工智能·架构·制造·1024程序员节
Lenyiin16 天前
2848、与车相交的点
c++·算法·leetcode·1024程序员节
earthzhang202122 天前
《深入浅出HTTPS》读书笔记(31):HTTPS和TLS/SSL
开发语言·网络·python·https·1024程序员节
不讲废话的小白24 天前
怎么样把pdf转成图片模式(不能复制文字)
pdf·1024程序员节
明明真系叻25 天前
2025.1.26机器学习笔记:C-RNN-GAN文献阅读
人工智能·笔记·深度学习·机器学习·生成对抗网络·1024程序员节
Joeysoda1 个月前
Java数据结构 (从0构建链表(LinkedList))
java·linux·开发语言·数据结构·windows·链表·1024程序员节
清风-云烟1 个月前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
Joeysoda1 个月前
Java数据结构 (链表反转(LinkedList----Leetcode206))
java·linux·开发语言·数据结构·链表·1024程序员节