你这个return num[i]有问题啊,如果没有重复数字的话,这个num[i]又不会是-1啊
int duplicateInArray(int *nums,int numsSize)
{
for(int i=0;i<numsSize;i++)
if(nums[i] < 0 || nums[i] >= numsSize)
return -1;
int a[1000] = {0};
for(int i=0;numsSize;i++)
{
a[nums[i]]++;
if(a[nums[i] > 1)
return nums[i];
}
return -1;
}
没有判断数组中不含重复数字返回-1的情况呀,你的代码写的实属有些复杂了,暴力法不应该会简单:遍历循环比较。numsize=0时候也需要单独判断返回-1.,我没重新去写。只提这些问题吧。