1200 相對排名

2022-02-15 02:39:58 字數 1273 閱讀 1931

中文english

根據n名運動員的得分,找到他們的相對等級和獲得最高分前三名的人,他們將獲得獎牌:「金牌」,「銀牌」和「銅牌」。

例子 1:

輸入: [5, 4, 3, 2, 1]

輸出: ["gold medal", "silver medal", "bronze medal", "4", "5"]

說明:前三名運動員獲得前三名最高分,因此獲得「金牌」,「銀牌」和「銅牌」。

對於後兩名運動員,你只需要根據他們的分數輸出他們的相對等級。

n是正整數,並且不超過10,000。

所有運動員的成績都保證是獨一無二的。

輸入測試資料 (每行乙個引數)如何理解測試資料?

class

solution:

""" @param nums: list[int

] @return:

return

list[str]

"""'''

大致思路:

1.初始化dic,count = {},0,while l 不為空的時候,每次移除最大值,分別匹配到dic裡面,同時count += 1

,得到dic排名。

2.迴圈p,分別根據p的值在dic裡面進行對應賦值,最後返回即可。

'''def findrelativeranks(self,nums):

dic,count,p = {},0

, p.extend(nums)

while nums !=:

pop_num =max(nums)

count += 1

if count == 1

: dic[pop_num] = "

gold medal

"elif count == 2

: dic[pop_num] = "

silver medal

"elif count == 3

: dic[pop_num] = "

bronze medal

"else

: dic[pop_num] =count

nums.remove(pop_num)

#迴圈p,分別賦值

for i in

range(len(p)):

p[i] =str(dic[p[i]])

return p

506 相對名次

給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 金牌 銀牌 和 銅牌 gold medal silver medal bronze medal 注 分數越高的選手,排名越靠前。示例 1 輸入 5,4,3,2,1 輸出 gold medal silver...

數學思想3 相對

相對有點象哲學中的矛盾。0是最簡單的數,加法是最簡單的運算,如果光有這些,你得到的永遠是0,不能產生新數,也不能解決任何問題。於是引進了數字1,這稍微麻煩一些,把它自加,會得到乙個新數2,更麻煩,不斷自加,就不斷產生 新數,越來越麻煩。但這能表示更多東西,也就是更有用。為了使幾個相同數的連加變得簡單...

506 相對名次(字典)

1.問題描述 給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 金牌 銀牌 和 銅牌 gold medal silver medal bronze medal 注 分數越高的選手,排名越靠前。示例 1 輸入 5,4,3,2,1 輸出 gold medal...