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))
相关推荐
我不会编程5553 分钟前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
老歌老听老掉牙24 分钟前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
满怀101529 分钟前
Python入门(7):模块
python
无名之逆29 分钟前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
你觉得20533 分钟前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
啊喜拔牙42 分钟前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
hyshhhh1 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
__lost2 小时前
Pysides6 Python3.10 Qt 画一个时钟
python·qt
杉之2 小时前
选择排序笔记
java·算法·排序算法