力扣-287.寻找重复数

题目链接

287.寻找重复数

java 复制代码
class Solution {
    public int findDuplicate(int[] nums) {
        int low = nums[0];
        int fast = nums[nums[0]];
        //1.快慢指针找相遇点
        while (low != fast) {
            low = nums[low];
            fast = nums[nums[fast]];
        }
        //2.双指针找入环点
        int pre = 0;
        while (pre != low) {
            pre = nums[pre];
            low = nums[low];
        }
        return pre;
    }
}

小结:对nums数组建图,每个位置i连一条i → nums[i]的边。由于有且仅有唯一的重复数字target,因此target这个位置一定有起码两条指向它的边,因此整张图一定存在环,且我们要找到的target就是这个环的入口,那么整个问题就等价于142. 环形链表 II

相关推荐
sali-tec4 小时前
C# 基于OpenCv的视觉工作流-章20-仿射变换
图像处理·人工智能·opencv·算法·计算机视觉
u0109272714 小时前
实时数据流处理
开发语言·c++·算法
独自破碎E4 小时前
【滑动窗口+计数】LCR015找到字符串中所有字母异位词
数据结构·算法
Trouvaille ~4 小时前
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
linux·运维·服务器·c++·算法·线程·互斥锁
2501_940315264 小时前
leetcode统计一致字符串的数目(哈希表)
算法·哈希算法·散列表
清铎4 小时前
项目_Agent实战
开发语言·人工智能·深度学习·算法·机器学习
J_liaty4 小时前
SpringBoot 自定义注解实现接口加解密:一套完整的多算法方案
java·spring boot·算法
m0_748708054 小时前
C++代码移植性设计
开发语言·c++·算法
Σίσυφος19004 小时前
特征值分解eig
人工智能·算法
子豪-中国机器人4 小时前
2026年1月31日特长测试常见难点
算法