HJ45_名字的漂亮度_贪心(字符串字符次数排序)_附:字典排序

发布时间 2023-04-08 19:11:29作者: Aneverforget

思路:

每个字母都有一个漂亮度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为元组列表