题目
给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。
示例 1:
输入: [3,0,1]
输出: 2
示例 2:
输入: [9,6,4,2,3,5,7,0,1]
输出: 8
说明:
你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?
代码模板:
class Solution {
public int missingNumber(int[] nums) {
}
}
分析
首先求出这个数组本身不缺失的和,然后计算出它本身的和,最后用不缺失的和减去本身的和就能得出这个缺失的数。
解答
class Solution {
public int missingNumber(int[] nums) {
int orinSum = (1 + nums.length) * (nums.length)/2;
int sum = 0;
for(int i =0 ;i<nums.length;i++){
sum = sum+nums[i];
}
return orinSum-sum;
}
}