程式語言 - LeetCode - C++ - 547. Number of Provinces



參考資訊:
https://algo.monster/liteproblems/547
https://blog.csdn.net/navicheung/article/details/135835250

題目:


解答:

class Solution {
public:
    int findCircleNum(vector<vector<int>>& isConnected) {
        int r = 0;
        vector<int> visited(isConnected.size(), 0);

        for (int i = 0; i < isConnected.size(); i++) {
            if (!visited[i]) {
                r += 1;
                dfs(isConnected, i, visited);
            }
        }
        return r;
    }

    void dfs(vector<vector<int>>& isConnected, int idx, vector<int>& visited) {
        visited[idx] = 1;

        for (int i = 0; i < isConnected.size(); i++) {
            if (!visited[i] && isConnected[idx][i]) {
                dfs(isConnected, i, visited);
            }
        }
    }
};