力扣-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

相关推荐
艾醒2 小时前
大模型面试题剖析:大模型微调与训练硬件成本计算
人工智能·后端·算法
啊嘞嘞?2 小时前
力扣(滑动窗口最大值)
算法·leetcode·职场和发展
快递鸟2 小时前
ISV系统开发中物流接口的第三方模块对接:技术选型与集成实践
算法
墨染点香2 小时前
LeetCode 刷题【53. 最大子数组和】
数据结构·算法·leetcode
2501_924879263 小时前
客流特征识别误报率↓76%!陌讯多模态时序融合算法在智慧零售的实战解析
大数据·人工智能·算法·目标检测·计算机视觉·视觉检测·零售
北京地铁1号线3 小时前
广告推荐模型2:因子分解机(Factorization Machines, FM)
人工智能·算法·推荐算法
七十二小時4 小时前
力扣热题——前K个高频元素
数据结构·算法·leetcode
500佰4 小时前
AI手办,Gemini 2.5 Flash Image 可一键制作高一致性人物手办
算法
愚润求学5 小时前
【贪心算法】day3
c++·算法·leetcode·贪心算法
空白到白6 小时前
算法练习-合并两个有序数组
数据结构·python·算法