宁波做网站优化,做网站找谁,心理咨询网站建设,网站常用架构Leetcode刷题之消失的数字#xff08;C语言版#xff09; 一、题目描述二、题目解析 一、题目描述
数组nums包含从0到n的所有整数#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗#xff1f;
注意#xff1a;本题相对书上原题稍作… Leetcode刷题之消失的数字C语言版 一、题目描述二、题目解析 一、题目描述
数组nums包含从0到n的所有整数但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗
注意本题相对书上原题稍作改动
示例 1
输入[3,0,1] 输出2
示例 2
输入[9,6,4,2,3,5,7,0,1] 输出8
二、题目解析
本道题目我们可以采用一种非常巧妙的方法解决那么就是利用等差数列的公式。我们可以先用等差数列的公式求出包括“消失的数字”的和接着我们利用循环减去数组的每一项就可以的到消失的那一项 代码如下
int missingNumber(int* nums, int numsSize)
{int sum(1numsSize)*(numsSize)/2;int i0;for(i0;inumsSize;i){sumsum-nums[i];}return sum;
}值得我们关注的是在这里我们将首项看作是1。