小白代码,使用C语言,思路是类似一种朴素的桶排序算法,创建一个标志位数组flag,遍历所有数组元素,对每个遍历到的元素执行flag[nums[i]]++操作,因为题目确定只有唯一一个重复数,故找出flag!=1的nums[i]即可。
代码如下:
int findDuplicate(int* nums, int numsSize) {
int flag[100001]={};
for(int i=0;i<numsSize;i++){
flag[nums[i]]++;
}
for(int i=0;i<numsSize;i++){
if(flag[nums[i]]!=1){
return nums[i];
}
}
return 0;
}