Talk is cheap.
func duplicateInArray(nums []int) int {
if nums == nil {
return -1
}
for _, v := range nums{
if v >= len(nums) || v < 0 {
return -1
}
}
for i, _ := range nums{
for nums[i] != i {
if nums[i] == nums[nums[i]] {
return nums[i]
} else {
idx := nums[i]
nums[i], nums[idx] = nums[idx], nums[i]
}
}
}
return -1
}