給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 「金牌」,「銀牌」 和「 銅牌」(「gold medal」, 「silver medal」, 「bronze medal」)。
(注:分數越高的選手,排名越靠前。)
輸入: [5, 4, 3, 2, 1]輸出: [「gold medal」, 「silver medal」, 「bronze medal」,「4」, 「5」]
解釋: 前三名運動員的成績為前三高的,因此將會分別被授予 「金牌」,「銀牌」和「銅牌」 (「gold medal」,「silver medal」 and 「bronze medal」). 餘下的兩名運動員,我們只需要通過他們的成績計算將其相對名次即可。
n 是乙個正整數並且不會超過 10000。
所有運動員的成績都不相同。
class
solution
:def
findrelativeranks
(self, nums)
: sort_nums = nums[:]
sort_nums.sort(reverse=
true
)for i in
range
(len
(nums)):
if i ==0:
nums[nums.index(sort_nums[0]
)]="gold medal"
elif i ==1:
nums[nums.index(sort_nums[1]
)]="silver medal"
elif i ==2:
nums[nums.index(sort_nums[2]
)]="bronze medal"
else
: nums[nums.index(sort_nums[i])]
=str
(i +1)
return nums
每日一題 陣列的相對排序
給你兩個陣列,arr1 和 arr2,arr2 中的元素各不相同 arr2 中的每個元素都出現在 arr1 中對 arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。未在 arr2 現過的元素需要按照公升序放在 arr1 的末尾。輸入 arr1 2,3,1,3,2...
每日一題 1
題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...
每日一題2018 3 21
leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...