int missingNumber(int *nums, int numsSize) {
int res = numsSize;
for (int i = 0; i < numsSize; i++) {
res ^= i ^ nums[i];
}
return res;
}
#include <vector>
using namespace std;
class Solution {
public:
int missingNumber(vector<int> &nums) {
int res = nums.size();
for (int i = 0; i < nums.size(); i++) {
res ^= i ^ nums[i];
}
return res;
}
};
package bitmanipulation
func missingNumber(nums []int) int {
res := len(nums)
for i, n := range nums {
res ^= i ^ n
}
return res
}
class Solution {
public int missingNumber(int[] nums) {
int res = nums.length;
for (int i = 0; i < nums.length; i++) {
res ^= i ^ nums[i];
}
return res;
}
}
/**
* @param {number[]} nums
* @return {number}
*/
var missingNumber = function (nums) {
let res = nums.length;
for (let i = 0; i < nums.length; i++) {
res ^= i ^ nums[i];
}
return res;
};
from typing import List
class Solution:
def missingNumber(self, nums: List[int]) -> int:
res = len(nums)
for i, n in enumerate(nums):
res ^= i ^ n
return res
impl Solution {
pub fn missing_number(nums: Vec<i32>) -> i32 {
let mut res = nums.len() as i32;
for (i, &n) in nums.iter().enumerate() {
res ^= i as i32 ^ n;
}
res
}
}