class Solution {
public:
int findRepeatNumber(vector<int>& nums) {
}
};
剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1:
输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3
限制:
2 <= n <= 100000
原站题解
golang 解法, 执行用时: 40 ms, 内存消耗: 7.5 MB, 提交时间: 2021-06-12 01:06:47
func findRepeatNumber(nums []int) int { k := make([]int, len(nums)) for _, num := range nums { k[num]++ if k[num] == 2 { return num } } return -1 }
golang 解法, 执行用时: 52 ms, 内存消耗: 8 MB, 提交时间: 2021-06-12 01:03:39
func findRepeatNumber(nums []int) int { sort.Ints(nums) for i := 1; i < len(nums); i++ { if nums[i] == nums[i-1] { return nums[i] } } return -1 }