文章目录
双指针严格来说不是一种算法,而是一种思路。
场景
数组长度为n+1,值在1~n之间,有且仅有一个重复数。
-
数组值在合法下标范围内 (如长度为n+1,值在1~n之间)
-
可以形成链表结构 :
-
将数组视为链表:
index -> nums[index] -> nums[nums[index]] -> ... -
重复元素会导致环的形成
解决方案
为什么要以值作为下标?
刚看到这时不好理解,后来才发现自己没看清题,这道题的前提之一就是长度为n+1,值在1-n之间,所以可以把值作为下标传入。