省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。
给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。
返回矩阵中 省份 的数量。
var findCircleNum = function (arr) {
var len = arr.length;
var parent = new Array(len).fill().map((v, i) => i)
for (var i = 0; i < len; i++) {
for (var j = i + 1; j < len; j++) {
var pi = find(i)
var pj = find(j)
if (arr[i][j] === 1) {
parent[pi] = pj
}
}
}
function find(i) {
var value = parent[i]
if (value !== i) {
parent[i] = find(value)
}
return parent[i]
}
var res = 0;
parent.forEach((item, idx) => {
if (idx === item) {
res++
}
})
return res
};