Re: [閒聊] 每日leetcode

看板Marginalman作者 (早瀬ユウカの体操服 )時間10月前 (2025/01/29 16:58), 編輯推噓0(001)
留言1則, 1人參與, 10月前最新討論串1312/1552 (看更多)
https://leetcode.com/problems/redundant-connection 684. Redundant Connection 給你一個長度為n的陣列int[][] edges表示邊集合,這些邊組成一個連通圖,求出移除 哪個邊可以讓該圖不存在環且連通,如果答案有多個返回比較後面的邊。 思路: 1.用併查集把edges裡面的邊連通起來,連起來前檢查是不是兩個點在同一組,如果在同 一組的話就更新res的邊,因為有n個邊和n個點所以必定有解。 Java Code ---------------------------------------------------------------- class Solution { public int[] findRedundantConnection(int[][] edges) { int n = edges.length; int[] root = new int[n + 1]; for (int i = 1; i <= n; i++) { root[i] = i; } int[] res = null; for (int[] edge : edges) { int a = find(root, edge[0]); int b = find(root, edge[1]); if (a == b) { res = edge; } root[a] = b; } return res; } int find(int[] root, int x) { return root[x] == x ? x : (root[x] = find(root, root[x])); } } ---------------------------------------------------------------- -- https://i.imgur.com/O931L58.jpeg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.158.101.161 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1738141093.A.346.html

01/29 16:59, 10月前 , 1F
大師
01/29 16:59, 1F
文章代碼(AID): #1dcUsbD6 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1dcUsbD6 (Marginalman)