1
2
3
4
5
6
7
8
9
10
11
12
| class Solution:
def minCharacters(self, a, b):
m, n = len(a), len(b)
c1 = Counter(ord(c) - 97 for c in a)
c2 = Counter(ord(c) - 97 for c in b)
res = m + n - max((c1 + c2).values()) # condition 3
for i in range(25):
c1[i + 1] += c1[i]
c2[i + 1] += c2[i]
res = min(res, m - c1[i] + c2[i]) # condition 1
res = min(res, n - c2[i] + c1[i]) # condition 2
return res
|