684 冗餘連線 並查集

2022-05-25 05:15:13 字數 691 閱讀 4232

在本問題中, 樹指的是乙個連通且無環的無向圖。

輸入乙個圖,該圖由乙個有著n個節點 (節點值不重複1, 2, ..., n) 的樹及一條附加的邊構成。附加的邊的兩個頂點包含在1到n中間,這條附加的邊不屬於樹中已存在的邊。

結果圖是乙個以邊組成的二維陣列。每乙個邊的元素是一對[u, v] ,滿足 u < v,表示連線頂點u 和v的無向圖的邊。

返回一條可以刪去的邊,使得結果圖是乙個有著n個節點的樹。如果有多個答案,則返回二維陣列中最後出現的邊。答案邊 [u, v] 應滿足相同的格式 u < v。

示例 1:

輸入: [[1,2], [1,3], [2,3]]

輸出: [2,3]

解釋: 給定的無向圖為:1/

2 - 3

class solution 

return fa[x] == x ? fa[x] : find(fa[x]);

}bool same(int x, int y)

void unit(int x, int y)

rank[xx] += rank[yy];

fa[yy] = xx;

}vectorfindredundantconnection(vector>& edges)

else

}return vector {} ;

}};

(並查集)684 冗餘連線

在本問題中,樹指的是乙個連通且無環的無向圖。輸入乙個圖,該圖由乙個有著n個節點 節點值不重複1,2,n 的樹及一條附加的邊構成。附加的邊的兩個頂點包含在1到n中間,這條附加的邊不屬於樹中已存在的邊。結果圖是乙個以邊組成的二維陣列。每乙個邊的元素是一對 u,v 滿足 u v,表示連線頂點u 和v的無向...

LeetCode 684 冗餘連線(並查集)

在本問題中,樹指的是乙個連通且無環的無向圖。輸入乙個圖,該圖由乙個有著n個節點 節點值不重複1,2,n 的樹及一條附加的邊構成。附加的邊的兩個頂點包含在1到n中間,這條附加的邊不屬於樹中已存在的邊。結果圖是乙個以邊組成的二維陣列。每乙個邊的元素是一對 u,v 滿足 u v,表示連線頂點u 和v的無向...

並查集 冗餘連線

思路 記錄1到n的每個數的根,因為如果有環,導致環相連的 u,v 一定有相同的root,我們可以理解為是乙個節點的兩個分支,通過 u,v 被連起來了,既然他們是乙個節點的兩個分支,那麼他們一定有相同的root,所以直接移除 u,v 就好啦。class solution def findredunda...