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))
相关推荐
带娃的IT创业者1 分钟前
Python 异步编程完全指南(二):深入 asyncio 核心概念
开发语言·python·协程·事件循环·asyncio·异步编程
啊我不会诶7 分钟前
2025 北京市大学生程序设计竞赛暨“小米杯”全国邀请赛
c++·学习·算法
小付爱coding9 分钟前
openclaw源码架构深度解析【总体概况】
python·架构·openclaw
mit6.8249 分钟前
懒更新|单点查询
算法
又是忙碌的一天13 分钟前
Java 面向对象三大特性:封装、继承、多态深度解析
java·前端·python
Yupureki23 分钟前
《C++实战项目-高并发内存池》8. 最终性能优化与测试
c语言·开发语言·数据结构·c++·算法·性能优化
qq_3806513326 分钟前
xu#True
python
DeepModel28 分钟前
【概率分布】均匀分布的原理、推导与Python实现
python·算法·概率论
一叶落43829 分钟前
LeetCode 74 | 搜索二维矩阵(C语言版题解)
c语言·数据结构·c++·算法·leetcode·矩阵·动态规划
罗湖老棍子29 分钟前
星际信号塔 —— 单调栈经典应用详解
数据结构·算法·单调栈