684 冗餘連線 python

2021-09-13 13:29:16 字數 1223 閱讀 6226

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

輸入乙個圖,該圖由乙個有著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

示例 2:

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

輸出: [1,4]

解釋: 給定的無向圖為:

5 - 1 - 2

| |4 - 3

注意:輸入的二維陣列大小在 3 到 1000。

二維陣列中的整數在1到n之間,其中n是輸入陣列的大小。

思路:並查集思路,邊加邊邊判斷是否根節點相同

class

solution

:def

findredundantconnection

(self, edges: list[list[

int]])

-> list[

int]

: n=

len(edges)

self.parrent=

list

(range

(n+1))

for e in edges:

p1 = self.get_parrent(e[0]

) p2 = self.get_parrent(e[1]

)if p1==p2:

return e

self.parrent[p2]

=p1 def

get_parrent

(self,node)

:if self.parrent[node]

==node:

return node

else

:return self.get_parrent(self.parrent[node]

)

684 冗餘連線

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

684 冗餘連線

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

684 冗餘連線

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