Missing Number
此题也是一个比较特殊的思维来解题,因为数组里面没有重复数而且在0 - n 里面,所以我们把1 - n里面的数全部加起来再减去当前数组的和其实就是正确答案了,如果两数相等,则缺的就是0了,下面是这种思路的代码
class Solution(object):
def missingNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
n = len(nums)
return n * (n + 1) / 2 - sum(nums)
另外还有XOR和二分法的方法
比特位操作的XOR方法代码如下,没有很理解还
public int missingNumber(int[] nums) {
int res = nums.length;
for(int i = 0; i < nums.length; i++){
res ^= i;
res ^= nums[i];
}
return res;
}