Minimum Number of Operations to Make Array XOR Equal to K

https://leetcode.com/problems/minimum-number-of-operations-to-make-array-xor-equal-to-k/description/

  • Firstly, we find XOR of original array

  • Find binary of k

  • Find different bits count b/w binary of k and binary of XOR(nums)

class Solution:
    def minOperations(self, nums: List[int], k: int) -> int:
        oxor = 0
        for e in nums:
            oxor ^= e

        binK = bin(k)[2:]
        binO = bin(oxor)[2:]
        maxLength = max(len(binO), len(binK))

        b1 = binK.zfill(maxLength)
        b2 = binO.zfill(maxLength)

        ans = 0
        for i in range(maxLength):
            if b1[i] != b2[i]:
                ans += 1

        return ans