一个长度为n的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围1~n之内。在范围1~n内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
思路:
根据题目可知因为是递增的我们可以求其1~n的和在依次减去数组中数据;
public int missingNumber(int[] nums) {
int n = nums[nums.length-1];
int result = n *(n + 1 ) /2;
for(int i=0;i<nums.length;i++){
result -=nums[i];
}
return result;
}