Given an array containingndistinct numbers taken from0, 1, 2, ..., n
, find the one that is missing from the array.
Example 1
Input:
[3,0,1]
Output:
2
Example 2
Input:
[9,6,4,2,3,5,7,0,1]
Output:
8
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
Credits:
Special thanks to@jianchao.li.fighterfor adding this problem and creating all test cases.
class Solution {
public int missingNumber(int[] nums) {
int sum = 0;
for (int num : nums){
sum += num;
}
int supposed = (nums.length + 1) * nums.length / 2;
return supposed - sum;
}
}