如果总是觉得,这时错过也无所谓,反正做不到不去做也无所谓,
那或许我们长大之后的某一天,会后悔。
思路一:
我们输入一个数组,并且这个数组是无序的,这时我们可以先对它按照大小进行排序,再去判断这个有序数组中缺失了哪个数字。
然而进行排序,冒泡排序的时间复杂度为O(N^2),qsort快排的时间复杂度也为O(N*logN),这两种排序算法的时间复杂度都不满足题目中给出的O(N),因此本思路可以放弃。
思路二:
既然我们输入的是缺了一个数字的0-n,那么相比于实际的0-n的和我们只是少了一个数,这样完全可以通过两组数字和的差值来判断出缺少的那一个数字。
int missingNumber(int* nums, int numsSize)
{
int sum1 = 0, sum2 = 0;
for (int i = 0; i