Day27力扣打卡

打卡记录

情侣牵手(并查集)

链接

cpp 复制代码
class Solution:
    def minSwapsCouples(self, row: List[int]) -> int:
        def find(x: int) -> int:
            if p[x] != x:
                p[x] = find(p[x])
            return p[x]

        n = len(row) >> 1
        p = list(range(n))
        for i in range(0, len(row), 2):
            a, b = row[i] >> 1, row[i + 1] >> 1
            p[find(a)] = find(b)
        return n - sum(i == find(i) for i in range(n))
相关推荐
justjinji几秒前
Chart.js 4 中实现基于数据极值的垂直线性渐变填充
jvm·数据库·python
迷藏4944 分钟前
# 发散创新:基于Selenium的自动化测试框架重构与实战优化在当今快速迭代的软件开
java·python·selenium·测试工具·重构
天选之子1236 分钟前
Django基本概念入门(一)
python·django·sqlite
吴可可1237 分钟前
C#合并首尾相连多段线实战
算法·c#
m0_6845019812 分钟前
CSS如何实现左图右文布局_利用float属性与清除浮动
jvm·数据库·python
jedi-knight12 分钟前
深入浅入 AI Agent:基于 Python 与 ReAct 模式的自主智能体实现
人工智能·python
源码站~14 分钟前
基于机器学习的社交媒体舆情分析系统
开发语言·python
生信研究猿28 分钟前
第2题-大模型Attention模块开发
python
2401_8716965228 分钟前
JavaScript中代码覆盖率Coverage在精简脚本中的应用
jvm·数据库·python
XiYang-DING31 分钟前
【Java EE】多线程(1)
java·python·java-ee