給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 「金牌」,「銀牌」 和「 銅牌」(「gold medal」, 「silver medal」, 「bronze medal」)。
(注:分數越高的選手,排名越靠前。)
示例 1:
輸入: [5, 4, 3, 2, 1]
輸出: [「gold medal」, 「silver medal」, 「bronze medal」, 「4」, 「5」]
解釋: 前三名運動員的成績為前三高的,因此將會分別被授予 「金牌」,「銀牌」和「銅牌」 (「gold medal」, 「silver medal」 and 「bronze medal」).
餘下的兩名運動員,我們只需要通過他們的成績計算將其相對名次即可。
# 遍歷排序後的score,將值、索引存至字典中,更改值為題目所求,最後遍歷score作為字典鍵返回結果列表
class
solution
:def
findrelativeranks
(self, score: list[
int])-
> list[
str]
: s =
sorted
(score, reverse=
true
) dic =
for i, val in
enumerate
(s):
i +=
1if i ==1:
dic[val]
="gold medal"
if i ==2:
dic[val]
="silver medal"
if i ==3:
dic[val]
="bronze medal"
if i >3:
dic[val]
=str
(i)return
[dic.get(i)
for i in score]
506 相對名次(字典)
1.問題描述 給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 金牌 銀牌 和 銅牌 gold medal silver medal bronze medal 注 分數越高的選手,排名越靠前。示例 1 輸入 5,4,3,2,1 輸出 gold medal...
Leetcode 506相對名次
給出n名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 金牌 銀牌 和 銅牌 gold medal silver medal bronze medal 注 分數越高的選手,排名越靠前。示例 1 輸入 5,4,3,2,1 輸出 gold medal silver m...
LeetCode506 相對名次
給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 金牌 銀牌 和 銅牌 gold medal silver medal bronze medal 注 分數越高的選手,排名越靠前。示例 1 n 是乙個正整數並且不會超過 10000。所有運動員的成績都不相同...