news 2026/4/15 14:55:02

如何用“龟兔赛跑“找出数组中的重复数?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用“龟兔赛跑“找出数组中的重复数?

求解思路

这道题利用快慢指针的思想。

可以把数组看作一个特殊的链表,数组的值就是指向下一个节点的索引。比如 nums[0] = 3,就表示从索引 0 跳到索引 3。

因为数组中有重复数字,所以必然会形成一个环,就像链表有环一样。

我们的目标就是找到这个环的入口位置,而这个位置对应的数字就是重复的数字。

整个算法分2步走:

第1步用快慢指针找到环内的相遇点,慢指针每次走一步,快指针每次走两步,它们最终会在环内某处相遇;

第2步让快指针回到起点,然后两个指针都以相同速度(每次一步)前进,它们再次相遇的地方就是环的入口,也就是我们要找的重复数字。

代码实现

publicstaticintfindDuplicate(int[]nums){if(nums==null||nums.length<2){return-1;}// 第1步:快慢指针找相遇点intslow=nums[0];intfast=nums[nums[0]];while(slow!=fast){slow=nums[slow];// 慢指针走一步fast=nums[nums[fast]];// 快指针走两步}// 第2步:找环的入口fast=0;// 快指针回到起点while(slow!=fast){fast=nums[fast];slow=nums[slow];}returnslow;// 返回重复的数字}

如果觉得有帮助,欢迎点赞、关注、转发~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 15:41:47

每天五分钟:leetcode动态规划-递归与递推_day2

0&#xff09;先记住一句话&#xff08;贯穿两种写法&#xff09;到第 n 阶的方法数&#xff1a;最后一步要么走 1 阶&#xff1a;从 n-1 来要么走 2 阶&#xff1a;从 n-2 来所以永远是&#xff1a;f(n) f(n-1) f(n-2)1&#xff09;递归版本&#xff08;从“大问题”往下问“…

作者头像 李华
网站建设 2026/4/15 14:58:51

燕麦矮砧密植:水肥一体化系统的铺设要点

燕麦地里&#xff0c;老刘的燕麦长势整齐&#xff0c;穗大粒饱。"这套水肥系统真是帮了大忙&#xff0c;"他指着田间的滴灌设备说&#xff0c;"不仅省水省肥&#xff0c;产量还提高了三成。"认识燕麦矮砧密植燕麦矮砧密植&#xff0c;简单来说就是选用矮秆…

作者头像 李华
网站建设 2026/4/14 3:33:27

云南昆明/南宁/海南海口品牌快闪店设计搭建公司哪家好?

在消费升级与商业创新双重驱动下&#xff0c;国内城市核心商圈正涌现出一批以短期空间运营为特色的新型商业实践。这类空间通过主题化场景构建、限时性体验设计以及社交化互动机制&#xff0c;形成了独特的商业空间运营模式。其凭借差异化的内容呈现与精准的受众定位&#xff0…

作者头像 李华
网站建设 2026/4/15 8:31:59

外设与接口:基于内核 gpio-keys 子系统的按键处理

1 基本原理 在 Linux 中&#xff0c;gpio-keys 是一个平台驱动&#xff08;Platform Driver&#xff09;&#xff0c;它充当了物理 GPIO 硬件与 Linux 标准输入子系统&#xff08;Input Subsystem&#xff09;之间的“翻译官”。 整个处理流程自下而上分为四层&#xff1a; 硬件…

作者头像 李华
网站建设 2026/4/12 14:32:12

测试的“元认知”:智能体如何评估自身可靠性?

在软件测试领域&#xff0c;自动化与智能化正以前所未有的速度重塑工作流程。随着人工智能代理&#xff08;智能体&#xff09;广泛应用于测试用例生成、缺陷预测和持续集成&#xff0c;一个关键问题浮出水面&#xff1a;这些智能体如何像人类测试专家一样&#xff0c;对自身行…

作者头像 李华
网站建设 2026/4/15 6:01:02

本凡码农引领杭州小程序开发解决方案赋能企业创新与发展

本凡码农的杭州小程序开发解决方案为企业提供了一种高效的数字化转型工具。我们的目标是帮助品牌快速适应市场变化&#xff0c;提升用户体验。通过定制化的小程序&#xff0c;企业能够实现从线上到线下的无缝连接&#xff0c;简化业务流程&#xff0c;从而更好地满足用户需求。…

作者头像 李华