有 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
題中所給的城市鄰接關係是一張無向圖,陣列isconnected是這張無向圖的鄰接矩陣,這道題本質上是要我們求這張無向圖的極大連通子圖的數量。對於找到無向圖中的極大連通子圖,我們可以使用並查集的方式,合併存在鄰接關係的兩座城市,最後,判斷極大連通子圖的個數。
class
solution
for(
int i =
0; i < provinces; i++)}
}int circles =0;
//找連通子圖數量
for(
int i =
0; i < provinces; i++)}
return circles;
}//合併處於同一連通子圖的兩點
public
void
union
(int
parent,
int index1,
int index2)
//查詢根節點
public
intfind
(int
parent,
int index)
return index;
}}
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...