擅长:python、mysql、java
<pre><code>from collections import deque
o = [[1,2],[3,4],[2,3],[5,4], [10, 11, 12], [13, 15], [4,6], [6, 8], [23,25]]
o = sorted(o, key=lambda x:min(x))
queue = deque(o)
grouped = []
while len(queue) >= 2:
l1 = queue.popleft()
l2 = queue.popleft()
s1 = set(l1)
s2 = set(l2)
if s1 & s2:
queue.appendleft(s1 | s2)
else:
grouped.append(s1)
queue.appendleft(s2)
# print(set(l1).union(set(l2)))
if queue:
grouped.append(queue.pop())
print(grouped)
</code></pre>
<p><strong>输出</strong></p>
^{pr2}$