×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#44298: 使用python解
uhong0628@gmail.com
(王德發wtf)
學校 : 國立雲林科技大學
編號 : 204499
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [140.125.218.149]
最後登入時間 :
2024-12-09 10:38:47
c012.
10062 - Tell me the frequencies!
--
UVa
10062
| 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