423 Reconstruct Original Digits from English
Input: "owoztneoer"
Output: "012"Input: "fviefuro"
Output: "45"from collections import Counter
class Solution:
g1 = {'z': ('zero', 0), 'w': ('two', 2), 'u': ('four', 4), 'x': ('six', 6), 'g': ('eight', 8)}
g2 = {'o': ('one', 1), 'r': ('three', 3), 'f': ('five', 5), 's': ('seven', 7)}
g3 = {'i': ('nine', 9)}
iter = [g1, g2, g3]
def originalDigits(self, s):
"""
:type s: str
:rtype: str
"""
c = Counter(s)
sol = []
for d in Solution.iter:
for unique, number in d.items():
if unique in c:
how_many = c[unique]
for _ in range(how_many):
sol.append(number[1])
for char in number[0]:
c[char] -= how_many
if c[char] == 0:
del c[char]
sol.sort()
return ''.join(str(num) for num in sol)Last updated