给定一个包含n个不同数字的数组0, 1, 2, ..., n
,找到数组中缺少的数字。
例1:
输入: [3,0,1]
输出: 2
例2:
输入: [9,6,4,2,3,5,7,0,1]
输出: 8
注意:
您的算法应该以线性运行时复杂性运行。你能用恒定的额外空间复杂度来实现吗?
public class Solution { public int missingNumber(int[] nums) { int sum=nums.length*(nums.length+1)/2; for(int i=0;i<nums.length;i++) sum-=nums[i]; return sum; } } 利用公式求和再减去数组的所有元素就是缺失的元素。length表示的含义是去掉0再加上缺失的元素