Minimum XOR Sum of Two Arrays LeetCode solution in Python

1
class Solution:
2
def minimumXORSum(self, a: List[int], b: List[int]) -> int:
3
@cache
4
def dp(mask: int) -> int:
5
i = bin(mask).count("1")
6
if i >= len(a):
7
return 0
8
return min(
9
(a[i] ^ b[j]) + dp(mask + (1 << j))
10
for j in range(len(b))
11
if mask & (1 << j) == 0
12
)
13

14
return dp(0)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0