HJ45_名字的漂亮度_贪心(字符串字符次数排序)_附:字典排序
思路:
每个字母都有一个漂亮度1-26。每个字母漂亮度不相同
忽略大小写,字符串漂亮度是字母漂亮度总和。
取次数最多的字符漂亮度最大,其他依次次大。
#贪心。先排序从大到小,后计算整体漂亮度。从局部最优到整体最优,为贪心算法。
代码:
1 from collections import Counter 2 n=input() 3 for i in range(int(n)): 4 s=input() 5 d=Counter(s) 6 l=list(d.values()) 7 l=sorted(l,reverse=True) 8 num=26 9 sum=0 10 for j in l: 11 sum=sum+j*num 12 num-=1 13 print(sum)
附:字典排序:
d.items为元组列表