寻找重复数

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

};

相关推荐
AI服务老曹37 分钟前
车牌识别算法接入AI视频分析平台的流程和误报优化
人工智能·算法·音视频
神威难绷泪1 小时前
Linux应用软件编程:线程分离属性 互斥机制 同步机制 死锁
linux·开发语言·算法·线程
小星星闪亮登场1 小时前
图论--最小生成树(内含二分图)
数据结构·算法·图论·迭代加深·图搜索算法
ZC跨境爬虫1 小时前
LeetCode 219. 存在重复元素 II(滑动窗口 + 哈希表详解)
算法·leetcode·散列表
吞下星星的少年·-·2 小时前
The 2025 ICPC Asia East Continent Online Contest (I) A题(模拟+贪心)
算法·贪心·模拟
小程序设计2 小时前
【机械设计】磁粉检测机器人的设计与验证
算法·机器人
Navigator_Z2 小时前
LeetCode //C - 1220. Count Vowels Permutation
c语言·算法·leetcode
吃好睡好便好2 小时前
判断函数的使用
学习·算法·matlab·生活·判断函数
2601_956121972 小时前
线性DP(入门)
c++·算法·动态规划
2601_962201722 小时前
Java进阶,集合,Colllection,常见数据结构
java·数据结构·windows