Geeksforgeeks

Error

Given two integers **A** and **B**, the task is to find an integer **X** such that **(X XOR A)** is minimum possible and the count of set bit in **X** is equal to the count of set bits in **B**.

**Example 1:**

**Input:**
A = 3, B = 5
**Output:** 3
**Explanation:**
Binary(A) = Binary(3) = 011
Binary(B) = Binary(5) = 101
The XOR will be minimum when x = 3
i.e. (3 XOR 3) = 0 and the number
of set bits in 3 is equal
to the number of set bits in 5.

**Example 2:**

**Input:**
A = 7, B = 12
**Output:** 6
**Explanation:**
(7)_{2}= 111
(12)_{2}= 1100
The XOR will be minimum when x = 6
i.e. (6 XOR 7) = 1 and the number
of set bits in 6 is equal to the
number of set bits in 12.

You don't need to read input or print anything. Your task is to complete the function **minVal()** that takes integer A and B as input and returns the value of X according to the question.

1 <= A, B <= 10^{9}

We are replacing the old Disqus forum with the new Discussions section given below.

Click here to view old Disqus comments.

Click here to view old Disqus comments.

Login to report an issue on this page.

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

YesLoading...

Minimum X (xor) A

...