给定一个包含
n + 1个整数的数组nums,其数字都在[1, n]范围内(包括1和n),可知至少存在一个重复的整数。假设
nums只有 一个重复的整数 ,返回 这个重复的数 。你设计的解决方案必须 不修改 数组
nums且只用常量级O(1)的额外空间。示例 1:
输入:nums = [1,3,4,2,2] 输出:2示例 2:
输入:nums = [3,1,3,4,2] 输出:3示例 3 :
输入:nums = [3,3,3,3,3] 输出:3提示:
1 <= n <= 105nums.length == n + 11 <= nums[i] <= nnums中 只有一个整数 出现 两次或多次 ,其余整数均只出现 一次
cppclass Solution { public: int findDuplicate(vector<int>& nums) { int slow =nums[0]; int fast =nums[0]; do { slow=nums[slow]; fast=nums[nums[fast]]; }while(slow!=fast); slow=nums[0]; while(slow!=fast) { slow=nums[slow]; fast=nums[fast]; } return slow; } };
LeetCode 287. 寻找重复数
Liangwei Lin2026-05-14 16:16
相关推荐
晴天的雨.9921 小时前
【C++算法】和为s的两个数aramae8 小时前
MySQL复合查询(8)荆棘鸟智能8 小时前
城市感知设备怎么统一接入?从多协议网关到设备模型的中间件架构设计INGNIGHT12 小时前
270 · 电话号码的字母组合II(Trie)2401_8390805413 小时前
C++常见八股青山是哪个青山13 小时前
LeetCode 188:买卖股票的最佳时机 IVmikuyyds13 小时前
geo-toolbox 插件算法解析:RUSLE 与 MUSLE 的工程化落地Tisfy13 小时前
LeetCode 3498.字符串的反转度:一次遍历a1879272183113 小时前
【算法】树(二):队列与祖先——BFS 骨架三配件、短路透传与合流syagain_zsx14 小时前
算法基础篇 · 03 枚举(C++ 题解)