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))
相关推荐
比奇堡鱼贩6 分钟前
python第五次作业
开发语言·前端·python
骇城迷影30 分钟前
代码随想录:哈希表篇
算法·哈希算法·散列表
智者知已应修善业41 分钟前
【PAT乙级真题解惑1012数字分类】2025-3-29
c语言·c++·经验分享·笔记·算法
码农小韩1 小时前
AIAgent应用开发——DeepSeek分析(二)
人工智能·python·深度学习·agent·强化学习·deepseek
每天要多喝水1 小时前
动态规划Day30:买卖股票
算法·动态规划
v_for_van1 小时前
力扣刷题记录6(无算法背景,纯C语言)
c语言·算法·leetcode
-To be number.wan1 小时前
算法学习日记 | 双指针
c++·学习·算法
喵手1 小时前
Python爬虫实战:构建一个高健壮性的图书数据采集器!
爬虫·python·爬虫实战·零基础python爬虫教学·构建图书数据·采集图书数据·图书数据采集
样例过了就是过了2 小时前
LeetCode热题100 最大子数组和
数据结构·算法·leetcode
铸人2 小时前
再论自然数全加和 - 欧拉伽马常数
数学·算法·数论·复数