成都建设网站首页,网站忧化 优帮云,seo搜索引擎优化方案怎么写,wordpress 更多内容题目 数组nums包含从0到n的所有整数#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗#xff1f; 注意#xff1a;本题相对书上原题稍作改动 示例 1#xff1a; 输入#xff1a;[3,0,1] 输出#xff1a;2 示例 2#xff1a; 输入但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗 注意本题相对书上原题稍作改动 示例 1 输入[3,0,1] 输出2 示例 2 输入[9,6,4,2,3,5,7,0,1] 输出8 来源力扣LeetCode 链接https://leetcode.cn/problems/missing-number-lcci 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 题解思路
可以知道数组应该是从0到n 一共n1个数 那么就可以知道这些数的总和为(n∗(n1))2\frac{(n*(n1))}{2}2(n∗(n1)) 那么把已知的数的总和算出来被上面的总和减去就得到缺省的数字是多少。
代码
class Solution {
public:int missingNumber(vectorint nums) {int num (nums.size()*(nums.size()1))/2;int sum 0;for(int i0;inums.size();i){sumnums[i];}return num -sum;}
};