LeetCode-Missing Number

这个题有很多方法 
1.计算和 再每个减去 注意overflow
public class Solution {
    public int missingNumber(int[] nums) {
        int n = nums.length;
        double sum = ( 1+n ) * n /2;
        for ( int i = 0; i < n; i ++ ){
            sum -= nums[i];
        }
        return (int)sum;
    }
}

2.抑或 注意细节 注意要把i也都抑或一遍

public class Solution {
    public int missingNumber(int[] nums) {
        int xor = nums[0]^nums.length;
        for ( int i = 1; i < nums.length; i ++ ){
            xor ^= nums[i];
            xor ^= i;
        }
        return xor;
    }
}


你可能感兴趣的:(LeetCode-Missing Number)