Um momento
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.

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;
    }
}
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;
    }
}
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: