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))
相关推荐
米粒12 小时前
力扣算法刷题 Day 27
算法·leetcode·职场和发展
IAUTOMOBILE3 小时前
Python 流程控制与函数定义:从调试现场到工程实践
java·前端·python
Fuxiao___3 小时前
C 语言核心知识点讲义(循环 + 函数篇)
算法·c#
Mr_Xuhhh4 小时前
LeetCode hot 100(C++版本)(上)
c++·leetcode·哈希算法
漫随流水4 小时前
c++编程:反转字符串(leetcode344)
数据结构·c++·算法
TT_44194 小时前
python程序实现图片截图溯源功能
开发语言·python
小陈的进阶之路5 小时前
logging 日志模块笔记
python
cqbelt5 小时前
Python 并发编程实战学习笔记
笔记·python·学习
穿条秋裤到处跑5 小时前
每日一道leetcode(2026.03.31):字典序最小的生成字符串
算法·leetcode
智算菩萨5 小时前
【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战
论文阅读·python·gpt·学习·自动化·复现