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))
相关推荐
ThinkerQAQ_2 分钟前
并发编程(七):volatile——从语言规则到 CPU
java·python·go
DanCheng-studio6 分钟前
毕业设计项目 基于深度学习的图像修复算法 DCGAN
python·毕业设计·毕设
yyy(十一月限定版)11 分钟前
CF2131D Arboris Contractio
算法
栈溢出了13 分钟前
VS Code Python 自动导包失效排查笔记
开发语言·笔记·python
DanCheng-studio15 分钟前
毕业设计项目 基于深度学习的抽烟行为检测算法实现(源码分享)
python·毕业设计·毕设
朝朝辞暮i20 分钟前
C++ 第 28 课:Lambda 表达式
开发语言·c++·算法
代码什么用23 分钟前
LeetCode-560.和为 K 的子数组
算法·leetcode
Wx-bishekaifayuan27 分钟前
springboot陨石鉴收系统96265-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
All for pursuit.28 分钟前
【回溯-3】39.组合总和
数据结构·c++·算法·leetcode
释厄62337 分钟前
BSD 基础论——不要忘记连接·不要停滞循环·AI基础算法
人工智能·算法