以下是 Python 代码:
def duplicateInArray(nums):
for i in range(len(nums)):
if nums[i] != i:
if nums[i] == nums[nums[i]]:
return nums[i]
else:
temp = nums[i]
nums[i] = nums[temp]
nums[temp] = temp
return -1
该算法的时间复杂度为 O(n)。
算法的思路如下:
- 对于数组中的