Sword 03

https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/submissions/

长度为n 的数组,且范围为0~n-1的数的若没有重复的话是正好可以排满数组的

题目中说一定会有重复,所以肯定有一个坑是占了两个萝卜的

我们可以将所有的萝卜都放在对应的位置,因为一定是有重复的,所以一定会出现两个萝卜占了一个坑的情况,这是本算法最终会停止的原因。

当我们遇到萝卜不属于当前坑的情况下,就将萝卜放入它应该在的位置上(交换),

这样就一定会出现两个萝卜占一个坑,返回即可

原文地址:https://www.cnblogs.com/FriskyPuppy/p/14468117.html