mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 21:10:58 +08:00
新增684. 冗余连接 JavaScript版本
This commit is contained in:
@ -303,6 +303,43 @@ func findRedundantConnection(edges [][]int) []int {
|
|||||||
## JavaScript
|
## JavaScript
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
const n = 1005;
|
||||||
|
const father = new Array(n);
|
||||||
|
// 并查集里寻根的过程
|
||||||
|
const find = u => {
|
||||||
|
return u == father[u] ? u : father[u] = find(father[u]);
|
||||||
|
};
|
||||||
|
|
||||||
|
// 将v->u 这条边加入并查集
|
||||||
|
const join = (u, v) => {
|
||||||
|
u = find(u);
|
||||||
|
v = find(v);
|
||||||
|
if(u == v) return;
|
||||||
|
father[v] = u;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 判断 u 和 v是否找到同一个根,本题用不上
|
||||||
|
const same = (u, v) => {
|
||||||
|
u = find(u);
|
||||||
|
v = find(v);
|
||||||
|
return u == v;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {number[][]} edges
|
||||||
|
* @return {number[]}
|
||||||
|
*/
|
||||||
|
var findRedundantConnection = function(edges) {
|
||||||
|
// 并查集初始化
|
||||||
|
for(let i = 0; i < n; i++){
|
||||||
|
father[i] = i;
|
||||||
|
}
|
||||||
|
for(let i = 0; i < edges.length; i++){
|
||||||
|
if(same(edges[i][0], edges[i][1])) return edges[i];
|
||||||
|
else join(edges[i][0], edges[i][1]);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
|
Reference in New Issue
Block a user