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))
相关推荐
wltx1688几秒前
海外版GEO优化适合耳机出口吗?
人工智能·python
vonlycn6 分钟前
PaddleDetection转ONNX 填坑
python·onnx·paddledetection
2401_871492856 分钟前
Python机器学习怎么防止数据泄漏_确保Scaler在Pipeline内拟合
jvm·数据库·python
2301_8180084413 分钟前
MySQL怎样在触发器中引用新旧数据行_NEW与OLD关键字详解
jvm·数据库·python
꧁细听勿语情꧂19 分钟前
合并两个有序表、判断链表的回文结构、相交链表、环的链表一和二
c语言·开发语言·数据结构·算法
木井巳25 分钟前
【递归算法】解数独
java·算法·leetcode·决策树·深度优先·剪枝
上弦月-编程41 分钟前
企业级RAG系统构建指南
leetcode
大肥羊学校懒羊羊1 小时前
完数与盈数的计算题解
数据结构·c++·算法
阿Y加油吧1 小时前
算法实战笔记:LeetCode 31 下一个排列 & 287 寻找重复数
笔记·算法·leetcode
穿条秋裤到处跑1 小时前
每日一道leetcode(2026.04.24):距离原点最远的点
算法·leetcode·职场和发展