136. Single Number
异或
public int singleNumber(int[] nums) {
int res = 0;
for (int num : nums) {
res ^= num;
}
return res;
}
熟悉下set
public int singleNumber(int[] nums) {
if (nums == null || nums.length <= 0) return -1;
Set<Integer> set = new HashSet<>();
for (int num : nums) {
if (set.contains(num)) set.remove(num); //remove duplicated
else set.add(num);
}
return set.iterator().next();
}
两倍的set和减去原数组和, (2+1)*2 - 2+2+1)
return sum(set(nums)) * 2 - sum(nums)