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))
相关推荐
liliangcsdn7 分钟前
mac mlx大模型框架的安装和使用
java·前端·人工智能·python·macos
香蕉可乐荷包蛋10 分钟前
Python学习之路(十三)-常用函数的使用,及优化
开发语言·python·学习
惜.己18 分钟前
使用python的读取xml文件,简单的处理成元组数组
xml·开发语言·python·测试工具
今禾24 分钟前
一行代码引发的血案:new Array(5) 到底发生了什么?
前端·javascript·算法
倔强青铜三27 分钟前
苦练Python第25天:玩转字典
人工智能·python·面试
橙几34 分钟前
击败了90%的解法?Two Sum 从 O(n²) 到 O(n) 的优化之路
算法
倔强青铜三40 分钟前
苦练Python第23天:元组秘籍与妙用
人工智能·python·面试
叶子爱分享1 小时前
经典排序算法之归并排序(Merge Sort)
算法·排序算法
珹洺1 小时前
C++算法竞赛篇:DevC++ 如何进行debug调试
java·c++·算法
Norvyn_71 小时前
LeetCode|Day18|20. 有效的括号|Python刷题笔记
笔记·python·leetcode