You are given an array of integers A having D distinct numbers. There is an operation that you can apply any number of times on the A.Problem Constraints
In one operation, you can do A[i] = A[i] ⊕ X; where X can be any integer and ⊕ is a XOR operation.
Return the minimum number of such operations required to modify A in such a way that it only contains at most B distinct numbers.
1 <= |A| <= 105Input Format
0 <= A[i] <= 109
1 <= K <= 105
First argument is an array of integers AOutput Format
Second argument is an integer B
Return an integer denoting the minimum number of operationsExample Input
A = [1, 2, 3]
B = 2
A = [1, 2, 2]
B = 2
For Input 1:
A ⊕ 2 = 1 ⊕ 2 = 3
A = [3, 2, 3]
So, Minimum operations = 1
For Input 2:
No operation is required
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified.
Still have a question? Checkout Sample Codes for more details.