寻找重复数

class Solution {

public:

int findDuplicate(vector<int>& nums) {

//从索引 0 出发,按照 numsi 跳转,由于值在 1 到 n 之间,不会越界。

// 因为有重复数字,所以至少有两个不同的索引会指向同一个值(即同一个后继节点),从而形成环。

// 重复的数字就是环的入口

if(nums.size()<2)return -1;

int slow=nums0,fast=numsnums\[0];

while(slow!=fast){

slow=numsslow;

fast=numsnums\[fast];

}

slow=0;

while(slow!=fast){

slow=numsslow;

fast=numsfast;

}

return fast;

}//1 2 3 3 4

};

相关推荐
有点。2 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥4 小时前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸4 小时前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp4 小时前
KV Cache 解析
java·算法
liliangcsdn4 小时前
IVOL与偏度因子的对比测量分析
算法
threerocks6 小时前
Jev 入门第一课
算法
西柚研究生1234567 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
hetao17338377 小时前
2026-09-17 hetao1733837 的刷题记录
c++·算法
午彦琳8 小时前
2026.9.17
数据结构·算法·leetcode
木井巳8 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法