当前位置: 首页 > news >正文

力扣-287.寻找重复数

题目链接

287.寻找重复数

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。

http://www.dtcms.com/a/270190.html

相关文章:

  • Flutter基础(前端教程①-容器和控件位置)
  • 7月5号和6号复习和预习(C++)
  • 初识mysql(一)
  • 论文略读:UniPELT: A Unified Framework for Parameter-Efficient Language Model Tuning
  • 无人机报警器探测模块技术解析
  • HDLBits刷题笔记和一些拓展知识(十一)
  • 中文编程开发工具构件系列介绍——数值比较构件
  • 视频网站弹幕系统简易实现
  • Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
  • Android Handler机制与底层原理详解
  • RHA《Unity兼容AndroidStudio打Apk包》
  • 什么是2.5G交换机?
  • 【如何下载网页中的视频】
  • 【HarmonyOS】鸿蒙端云一体化开发入门详解 (一)
  • 零基础 Qt 6 在线安装教程
  • vue前置知识-end
  • 呼叫系统对接智能体能解决哪些问题?
  • exFAT文件系统mp4素材文件变0字节的恢复方法
  • Spring中过滤器和拦截器的区别及具体实现
  • ROS平台上使用C++实现A*算法
  • 3423. 循环数组中相邻元素的最大差值 — day97
  • MySQL 8.0 OCP 1Z0-908 题目解析(23)
  • 服务端渲染
  • VMware克隆虚拟机,模板机已提前设置了固定IP,克隆机需要修改的事项
  • Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
  • Web前端开发: :where(伪类函数选择器)
  • 软件设计与重构
  • docker部署单机gitlab
  • Pytorch实战——完整的模型训练套路2
  • GitOps实践指南:GitLab CI/CD + ArgoCD 实现 Kubernetes 自动化部署