找出数组中重复的数字(C语言实现)

img

img

img


我想通过最简单的暴力法破解,但是为什么这里会输出错误呢?求指点,顺便看看是否有其他问题。

你这个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.,我没重新去写。只提这些问题吧。