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))
相关推荐
四维迁跃2 分钟前
如何排查SQL存储过程死锁_分析死锁日志与索引优化
jvm·数据库·python
m0_741173332 分钟前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
xcbrand5 分钟前
餐饮品牌全案公司哪家可靠
运维·python
踩坑记录13 分钟前
leetcode 92. 反转链表 II 区间反转(不是整条链表反转)
leetcode·链表
2401_8463395613 分钟前
CSS如何解决Less与CSS兼容性问题_通过配置文件实现平滑过渡与混合开发
jvm·数据库·python
qq_4138474014 分钟前
CSS如何控制全屏显示的元素样式
jvm·数据库·python
cici1587416 分钟前
含风光储燃的微电网能量管理系统(PSO优化)
算法
scan72417 分钟前
上下文摘要
python
第一程序员20 分钟前
2026年GitHub上最火的10个Python项目,Rust开发者必看
python·rust·github
阿正呀25 分钟前
CSS粘性定位不生效怎么办_检查父元素高度与overflow属性设置
jvm·数据库·python