题解 | #数组中重复的数字#
数组中重复的数字
https://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524
int duplicate(int* numbers, int numbersLen ) {
int arr[numbersLen];
for(int i=0;i<numbersLen;i++){
arr[i] = 0;
}
for(int i=0;i<numbersLen;i++){
if(arr[numbers[i]]>=1)
return numbers[i];
else{
arr[numbers[i]]++;}
}
return -1;
}
先创建一个数组arr全部初始化为0,用于记录对应的数字的出现次数。比如,3出现4次,对题目给的数组进行遍历,如果遇到了3,如果次数已经大于等于一就直接返回3,否则arr[3]次数加一.
查看4道真题和解析