323.Number of Connected Components in an Undirected Graph

class Solution {
public:
    int countComponents(int n, vector<pair<int, int>>& edges) {
        vector<int> root(n);
        int res = n;
        for(int i = 0; i < n; ++ i){
            root[i] = i;
        }
        for(auto edge : edges) {
            int edge1 = find(root,edge.first);
            int edge2 = find(root,edge.second);
            if(edge1 != edge2){
                res--;
                root[edge2] = edge1;
            }
        }
        return res;


    }
    int find(vector<int> root, int i) {
        while(i != root[i]) {
            root[i] = root[root[i]];
            i = root[i];
        }
        return i;
    }
};

results matching ""

    No results matching ""