Make the XOR of All Segments Equal to Zero
You are given an array nums and an integer k. The XOR of a segment [left, right], where left <= right, is the XOR of all the elements with indices between left and right, inclusive: nums[left] XOR nums[left + 1] XOR ... XOR nums[right].
Return the minimum number of elements to change in the array such that the XOR of all segments of size k is equal to zero.
Example 1
Input
nums = [1,2,0,3,0], k = 1Output
3Changing the array from [1, 2, 0, 3, 0] to [0, 0, 0, 0, 0] requires 3 changes and makes every segment of size 1 have XOR 0.
Example 2
Input
nums = [3,4,5,2,1,7,3,4,7], k = 3Output
3Changing the highlighted elements transforms the array to [3, 4, 7, 3, 4, 7, 3, 4, 7], requiring 3 changes so every segment of size 3 has XOR 0.
Constraints
- 1 <= k <= nums.length <= 2000
- 0 <= nums[i] < 2^10