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))
相关推荐
无垠的广袤6 分钟前
【VisionFive 2 Lite 单板计算机】SoC 温度的 Home Assistant 物联网终端显示
linux·python·物联网
客卿1237 分钟前
力扣二叉树简单题整理(第二集)
算法·leetcode·职场和发展
强化试剂瓶7 分钟前
全面掌握Ergosterol-PEG-Biotin,麦角甾醇PEG生物素的使用与注意事项
python·scrapy·flask·scikit-learn·pyqt
爱编码的傅同学8 分钟前
【今日算法】LeetCode 543.二叉树的直径 621.任务调度器 739.每日温度
数据结构·算法·leetcode
helloworldandy8 分钟前
C++安全编程指南
开发语言·c++·算法
sin_hielo8 分钟前
leetcode 3651
数据结构·算法·leetcode
人工智能AI技术10 分钟前
【Agent从入门到实践】45 与后端系统集成:Agent作为服务,嵌入业务流程
人工智能·python
Remember_99310 分钟前
【LeetCode精选算法】位运算专题
java·开发语言·jvm·后端·算法·leetcode
JERRY. LIU10 分钟前
realsense识别目标距离的传感器及其工作原理
python·opencv·目标检测
源代码•宸13 分钟前
Leetcode—102. 二叉树的层序遍历【中等】
经验分享·后端·算法·leetcode·职场和发展·golang·slice