给你一个整数数组 nums 和一个整数 target。
你可以从 nums 中移除 任意 数量的元素(可能为零)。
返回使剩余元素的 按位异或和 等于 target 所需的 最小 移除次数。如果无法达到 target,则返回 -1。
空数组的按位异或和为 0。
示例 1:
输入: nums = [1,2,3], target = 2
输出: 1
解释:
nums[1] = 2 后剩余 [nums[0], nums[2]] = [1, 3]。[1, 3] 的异或和为 2,等于 target。示例 2:
输入: nums = [2,4], target = 1
输出: -1
解释:
无法通过移除元素来达到 target。因此,答案为 -1。
示例 3:
输入: nums = [7], target = 7
输出: 0
解释:
所有元素的异或和为 nums[0] = 7,等于 target。因此,无需移除任何元素。
提示:
1 <= nums.length <= 400 <= nums[i] <= 1040 <= target <= 104