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

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

相关推荐
希忘auto17 小时前
详解Redis的常用命令
redis·1024程序员节
yaosheng_VALVE1 天前
探究全金属硬密封蝶阀的奥秘-耀圣控制
运维·eclipse·自动化·pyqt·1024程序员节
dami_king1 天前
SSH特性|组成|SSH是什么?
运维·ssh·1024程序员节
一个通信老学姐6 天前
专业125+总分400+南京理工大学818考研经验南理工电子信息与通信工程,真题,大纲,参考书。
考研·信息与通信·信号处理·1024程序员节
sheng12345678rui6 天前
mfc140.dll文件缺失的修复方法分享,全面分析mfc140.dll的几种解决方法
游戏·电脑·dll文件·dll修复工具·1024程序员节
huipeng9267 天前
第十章 类和对象(二)
java·开发语言·学习·1024程序员节
earthzhang20217 天前
《深入浅出HTTPS》读书笔记(19):密钥
开发语言·网络协议·算法·https·1024程序员节
爱吃生蚝的于勒8 天前
计算机基础 原码反码补码问题
经验分享·笔记·计算机网络·其他·1024程序员节
earthzhang20218 天前
《深入浅出HTTPS》读书笔记(20):口令和PEB算法
开发语言·网络协议·算法·https·1024程序员节
一个通信老学姐9 天前
专业140+总分410+浙江大学842信号系统与数字电路考研经验浙大电子信息与通信工程,真题,大纲,参考书。
考研·信息与通信·信号处理·1024程序员节