int Cmp(const void* x, const void* y)
{
return *(int*)x - *(int*)y;
}
int singleNumber(int* nums, int numsSize)
{
if (numsSize == 1)
{
return nums[0];
}
qsort(nums, numsSize, sizeof(int), Cmp);//快排
int tmp = 0;
int i = 0;
while (1)//依次相加减,剩下的就是多余的数字
{
tmp += nums[i];
i++;
if (i == numsSize)
{
break;
}
tmp -= nums[i];
i++;
}
return tmp;
}
int main()
{
int arr[5] = { 4,1,2,1,2 };
printf("%d",singleNumber(arr,5));
return 0;
}