当前位置: 首页 > article >正文

python-leetcode-寻找重复数

287. 寻找重复数 - 力扣(LeetCode)

class Solution:
    def findDuplicate(self, nums: List[int]) -> int:
        # Step 1: 找到环的相遇点
        slow = nums[0]
        fast = nums[0]
        
        # 使用快慢指针,直到相遇
        while True:
            slow = nums[slow]  # 慢指针走一步
            fast = nums[nums[fast]]  # 快指针走两步
            if slow == fast:
                break
        
        # Step 2: 找到环的入口
        slow = nums[0]  # 重置慢指针到数组的起始位置
        while slow != fast:
            slow = nums[slow]
            fast = nums[fast]
        
        return slow  # 返回重复的数字


http://www.kler.cn/a/565573.html

相关文章:

  • C++ ++++++++++
  • 前端面试-webpack篇
  • yolov8 目标追踪 (源码 +效果图)
  • 环境会影响你的决策:K近邻算法(KNN)
  • 软考程序员各模块知识点对应的分值分布及考试形式总结
  • 【后端开发面试题】每日 3 题(三)
  • Kubernetes LimitRange对于pod 的 update 事件会不会处理?
  • 嵌入式开发中的计算机体系结构与主流架构深度解析
  • AI关于SHAP分析与列线图(算法)解释线性模型矛盾之处的解释
  • 18440二维差分
  • RustDesk开源远程桌面工具部署【图文详解】
  • python-leetcode-使用最小花费爬楼梯
  • Spring Boot 事件机制
  • Android8.1以上接收静态广播
  • 1-7makefile
  • 若依前后端分离版配置流程
  • 重庆市智慧政务服务“渝快办”工作规范标准规范
  • 【2022——暴力DP / 优雅背包】
  • Vue打包(webpack)缓存
  • CodeMeter SmartBind® 软授权智能绑定技术