长度为n,范围为0~n-1,若无重复数字,且按序排列,则必有value=index;若存在重复数字时,当一个数字占据index,则重复元素必然会产生冲突 遍历数组 如果vlaue!=index 说明value没有在正确的位置上,应将其交换到正确的位置上 如果value == arr[value], 说明该位置上已存在value,该元素为重复元素,结束返回true while (index < n) { if (arr[index] != index && arr[index] == arr[arr[index]]) return true; ...