AlgoDesign

Beautiful pairs

1from collections import Counter
2def beautifulPairs(A, B):
3  A.sort()
4  B.sort()
5  
6  ACounter = Counter(A)
7  BCounter = Counter(B)
8  
9  res, canChange = 0, 0
10  for k, v in ACounter.items():
11    if k in BCounter: res += min(BCounter[k], v)
12    else: canChange += 1
13  
14  if canChange > 0: res += 1
15  else: res -= 1
16  
17  return res