JZ50 数组中重复的数字
本文最后更新于:2022年4月9日 中午
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Solution { public:
int duplicate(vector<int>& numbers) { int n = numbers.size(); if (n < 2) return -1; vector<int> record(n, 0); for (int num : numbers) { record[num]++; if (record[num] > 1) return num; } return -1; } };
|
| class Solution { public: int duplicate(vector<int>& numbers) { if (numbers.size() < 2) return -1; for (int i = 0; i < numbers.size(); ++i) { while (i != numbers[i]) { if (numbers[i] == numbers[numbers[i]]) return numbers[i]; swap(numbers[i], numbers[numbers[i]]); } } return -1; } };
|