打卡图论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; 
    }
};

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

相关推荐
西幻凌云1 天前
初始——正则表达式
c++·正则表达式·1024程序员节
启芯硬件1 天前
电源XL6009E1的dieshot细节分析-芯片设计干货
大数据·经验分享·硬件工程·1024程序员节
一颗青果3 天前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节
yBmZlQzJ6 天前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
yBmZlQzJ6 天前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
数据皮皮侠AI6 天前
数字经济政策工具变量数据(2008-2023)
大数据·数据库·人工智能·笔记·1024程序员节
网安_秋刀鱼7 天前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
unable code9 天前
攻防世界-Misc-Wire1
网络安全·ctf·misc·1024程序员节
开开心心就好9 天前
版本转换工具,支持Win双系统零售批量版
linux·运维·服务器·pdf·散列表·零售·1024程序员节