leetcode之路 547 省份數量

2022-07-08 01:06:13 字數 560 閱讀 8972

以上所有問題,抽象,概括為分組問題

大家主要了解一下並查集的兩種優化方法,路徑壓縮使得所有節點在被查詢過後都直接連在根節點上(這樣下次查詢的時候就可以o(1)查到他屬於哪個組),按深度合併分組可以保證樹的深度不會過分增長。

這個題可謂練手並查集的好題目

**如下

class solution 

}/**

* 找到某個節點的根節點(他屬於哪一組?)

*/int find(int x)

/*** 合併兩個分組

*/void merge(int a, int b)

}public:

int findcirclenum(vector>& isconnected) }}

setans;

for(int i = 0; i < n; i++)ans.insert(find(i));//set去一下重,查一下有多少個不同的分組就是多少個省了

return ans.size();

}};

LeetCode 547 省份數量

題目鏈結 有 n 個城市,其中一些彼此相連,另一些沒有相連。如果城市 a 與城市 b 直接相連,且城市 b 與城市 c 直接相連,那麼城市 a 與城市 c 間接相連。省份 是一組直接或間接相連的城市,組內不含其他沒有相連的城市。給你乙個 n x n 的矩陣 isconnected 其中 isconn...

LeetCode 547 省份數量

有 n 個城市,其中一些彼此相連,另一些沒有相連。如果城市 a 與城市 b 直接相連,且城市 b 與城市 c 直接相連,那麼城市 a 與城市 c 間接相連。省份 是一組直接或間接相連的城市,組內不含其他沒有相連的城市。給你乙個 n x n 的矩陣 isconnected 其中 isconnected...

547 省份數量

有 n 個城市,其中一些彼此相連,另一些沒有相連。如果城市 a 與城市 b 直接相連,且城市 b 與城市 c 直接相連,那麼城市 a 與城市 c 間接相連。省份 是一組直接或間接相連的城市,組內不含其他沒有相連的城市。給你乙個 n x n 的矩陣 isconnected 其中 isconnected...