• 省份数量


    题目链接:https://leetcode-cn.com/problems/number-of-provinces
    题目描述:
    有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。
    省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。
    给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。
    返回矩阵中 省份 的数量。

    示例 1:
    输入:isConnected = [[1,1,0],[1,1,0],[0,0,1]]
    输出:2

    示例 2:
    输入:isConnected = [[1,0,0],[0,1,0],[0,0,1]]
    输出:3

    提示:
    1 <= n <= 200
    n == isConnected.length
    n == isConnected[i].length
    isConnected[i][j] 为 1 或 0
    isConnected[i][i] == 1
    isConnected[i][j] == isConnected[j][i]

    题解:

    class Solution {
    public:
        int findCircleNum(vector<vector<int>>& isConnected) {
            vector<bool> visited(isConnected.size(), false);
            int provinces = 0;
            for(int i = 0; i < isConnected.size(); i++)
            {
                if(!visited[i])
                {
                    dfs(isConnected, i, visited);
                    provinces++;
                }
            }
            return provinces;
        }
        void dfs(vector<vector<int>>& isConnected, int i, vector<bool> &visited)
        {
            for(int j = 0; j < isConnected[i].size(); j++)
            {
                if(isConnected[i][j] == 1 && !visited[j])
                {
                    visited[j] = true;
                    dfs(isConnected, j, visited);
                }
            }
        }
    };
    
    
  • 相关阅读:
    配送单MYSQL ,一点都不机智
    强哥新周报SQL
    SQL 交叉连接与内连接
    pycharm git 提交使用情况
    MYSQL freedata 外联接
    SQL 添加字段
    邮件发送方法代码时
    调通有赞接口数据,翻页获取
    superset dashboard 设置自动刷新
    python 语法错误记录
  • 原文地址:https://www.cnblogs.com/ZigHello/p/15368420.html
Copyright © 2020-2023  润新知