Leetcode / 3158. Find the Xor of Numbers Which Appear Twice
Pick a programming language:
Here is the source code for the solution to this problem.
impl Solution {
pub fn duplicate_numbers_xor(nums: Vec<i32>) -> i32 {
let mut seenArr: [i32; 50] = [0; 50];
let mut result: i32 = 0;
for num in nums {
let index: usize = (num - 1) as usize;
if seenArr[index] > 0 {
result ^= num;
}
else {
seenArr[index] += 1;
}
}
return result;
}
}
class Solution {
// time O(n)
// space O(1)
public int duplicateNumbersXOR(int[] nums) {
// Using constraints of elements being between 1 and 50 inclusive
int[] seenArr = new int[50];
int result = 0;
for (int i = 0; i < nums.length; i++) {
if (seenArr[nums[i] - 1] > 0) {
result ^= nums[i];
}
else {
seenArr[nums[i] - 1]++;
}
}
return result;
}
}
Did you like the lesson? 😆👍
Consider a donation to support our work: