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))
相关推荐
_日拱一卒4 分钟前
LeetCode:240搜索二维矩阵Ⅱ
数据结构·线性代数·leetcode·矩阵
WolfGang0073215 分钟前
代码随想录算法训练营 Day33 | 动态规划 part06
算法·leetcode·动态规划
aini_lovee5 分钟前
半定规划(SDP)求解的 MATLAB 实现
算法
solicitous9 分钟前
python数据抓取
python
米粒116 分钟前
力扣算法刷题 Day 41(买卖股票)
算法·leetcode·职场和发展
幻风_huanfeng18 分钟前
人工智能之数学基础:内点法和外点法的区别和缺点
人工智能·算法·机器学习·内点法·外点法
HaiXCoder25 分钟前
Kotlin vs Python 知识点对照表
python
MIngYaaa52027 分钟前
The 6th Liaoning Provincial Collegiate Programming Contest - External 复盘
算法
I疯子28 分钟前
2026-04-13 打卡第 6 天
开发语言·python
HaiXCoder28 分钟前
python从入门到精通-第6章: 元编程 — Python的"超能力"
python