#44298: 使用python解


uhong0628@gmail.com (王德發wtf)

學校 : 國立雲林科技大學
編號 : 204499
來源 : [140.125.218.149]
最後登入時間 :
2024-12-09 10:38:47
c012. 10062 - Tell me the frequencies! -- UVa10062 | From: [140.125.218.161] | 發表日期 : 2024-11-22 10:20

AC (27ms, 3.3MB)
思路:

1. 建表

li = []
for i in range(256):
li.append([i, 0])
 
2. 基本输入并写入数据
s = input()
for c in s:
asc = ord(c)
li[asc][1] += 1
 
3. 核心排列!!!
li.sort(key=lambda item: (item[1], -item[0]))
# 先对item[1](出现次数)做由少到多的排序,再对item[0](ascii码)做降幂排序->记得加负号
4. 简单的输出
for i in li:
if i[1] != 0:
print(f"{i[0]} {i[1]}")
 
5. 总结(自己排版)
while True:
try:
li = []
for i in range(256):
li.append([i, 0])
 
s = input()
for c in s:
asc = ord(c)
li[asc][1] += 1
li.sort(key=lambda item: (item[1], -item[0]))
for i in li:
if i[1] != 0:
print(f"{i[0]} {i[1]}")
except:
break

'''
AAABBC
122333
'''
 
 
ZeroJudge Forum