题解 | #数组中重复的数字#
数组中重复的数字
https://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524
#include <vector>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型vector
* @return int整型
*/
int duplicate(vector<int>& numbers) {
// write code here
int n = numbers.size();
vector<int> cnt(n, 0); // 开辟一个空间作为计数器
for (int num: numbers) { // 遍历数组,时间复杂度O(n)
if (num > n - 1) { // 判断元素是否越界
return -1;
} else {
cnt[num]++; // 计数器记录元素次数
if (cnt[num] == 2) { // 有重复数组,返回
return num;
}
}
}
return -1;
}
};
