这是个找规律的题。。。
先统计每个字母的次数
1.先找 0, 2, 6, 8,因为他们对应的z, w, x, g只有自己单词里有,然后把这四个单词的里的其它字母减去,下面同理
2. 再找 3, 7
3. 再找4, 5
4. 再找 1, 9
def solution(s):
from collections import Counter
s = s.lower()
res = [0] * 10
counter = Counter(s)
dic0 = {"z": 0, "w": 2, "g": 8, "x": 6, "s": 7, "h": 3, "r": 4, "v": 5, "i": 9, "o": 1}
dic1 = {"z": ["e", "r", "o"], "w": ["t", "o"], "x": ["s", "i"], "g": ["e", "i", "h", "t"]}
dic2 = {"s": ["e", "v", "e", "n"], "h":["t", "r", "e", "e"]}
dic3 = {"r": ["f", "o", "e"], "v": ["f", "i", "e"]}
dic4 = {"i": ["n", "n", "e"], "o": ["n", "e"]}
for d in [dic1, dic2, dic3, dic4]:
for k in d:
if k in counter:
res[dic0[k]] = counter[k]
for v in d[k]:
counter[v] -= counter[k]
counter.pop(k)
res_s = ""
for i, num in enumerate(res):
res_s += str(i) * num
return res_s
#华为##笔试题目##题解#