int missingNumber(int* nums, int numsSize)
{
//首先,将元素从小到大排序
for (int i = 0; i < numsSize; i++)
{
for (int j = i; j > 0 && nums[j - 1] > nums[j]; j--)
{
int temp = nums[j - 1];
nums[j - 1] = nums[j];
nums[j] = temp;
}
}
//判断数组末端元素是否为n
if (nums[numsSize - 1] != numsSize)
{
return numsSize;
}
//判断数组第一个元素是否为0
if (nums[0] != 0)
{
return 0;
}
//从第二个元素开始,逐个检查
for (int i = 1; i < numsSize; i++)
{
if (nums[i] != i)
{
return i;
}
}
//如果不缺少元素,返回-1
return -1;
}
268. 丢失的数字
最新推荐文章于 2024-05-31 17:17:25 发布