https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/
1. 遍历数组
func findRepeatNumber(nums []int) int {
dupMap := make(map[int]bool, 0)
for _, num := range nums {
if _, ok := dupMap[num]; ok {
return num
} else {
dupMap[num] = false
}
}
return 0
}
2. 原地置换(时空较优)
把每个【数】放在【与数相等的下标的位置】上,如果在放的时候发现已经重复了,则返回
func findRepeatNumber(nums []int) int {
for i, num := range nums {
if i != num {
if nums[num] != num {
nums[num], nums[i] = num, nums[num]
} else {
return num
}
}
}
return 0
}