快慢双指针算法笔记

文章目录

双指针严格来说不是一种算法,而是一种思路。

场景

数组长度为n+1,值在1~n之间,有且仅有一个重复数。

  1. 数组值在合法下标范围内 (如长度为n+1,值在1~n之间)

  2. 可以形成链表结构

  • 将数组视为链表:index -> nums[index] -> nums[nums[index]] -> ...

  • 重复元素会导致环的形成

解决方案

为什么要以值作为下标?

刚看到这时不好理解,后来才发现自己没看清题,这道题的前提之一就是长度为n+1,值在1-n之间,所以可以把值作为下标传入。

相关推荐
旺仔.29111 小时前
STL排序算法详解
数据结构·算法·排序算法
美狐美颜sdk11 小时前
美颜SDK是什么?直播/短视频美颜SDK技术详解
人工智能·算法·美颜sdk·直播美颜sdk·美颜api
chushiyunen11 小时前
langgraph笔记
数据库·人工智能·笔记
DowneyJoy11 小时前
【Unity3D补充知识点】常用数据结构分析-集合(List<T>)
数据结构·unity·c#·list
看山还是山,看水还是。11 小时前
消控室五方对讲接听操作流程
经验分享·笔记·搜索引擎·pdf·百度云·印象笔记·有道云笔记
白沙染赤11 小时前
《区块链技术与应用》--笔记【4-6】
笔记·区块链
华农DrLai11 小时前
什么是远程监督?怎么自动生成训练数据?
人工智能·算法·llm·prompt·知识图谱
计算机安禾11 小时前
【数据结构与算法】第16篇:串(String)的定长顺序存储与朴素模式匹配
c语言·数据结构·c++·学习·算法·visual studio code·visual studio
2401_8274999911 小时前
python核心语法01-数据存储与运算
java·数据结构·python
AI科技星11 小时前
基于v≡c公设的理论优化方案
c语言·开发语言·算法·机器学习·数据挖掘