日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

LeetCode简单题之相对名次

發布時間:2023/11/28 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode简单题之相对名次 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

給你一個長度為 n 的整數數組 score ,其中 score[i] 是第 i 位運動員在比賽中的得分。所有得分都 互不相同 。
運動員將根據得分 決定名次 ,其中名次第 1 的運動員得分最高,名次第 2 的運動員得分第 2 高,依此類推。運動員的名次決定了他們的獲獎情況:
名次第 1 的運動員獲金牌 “Gold Medal” 。
名次第 2 的運動員獲銀牌 “Silver Medal” 。
名次第 3 的運動員獲銅牌 “Bronze Medal” 。
從名次第 4 到第 n 的運動員,只能獲得他們的名次編號(即,名次第 x 的運動員獲得編號 “x”)。
使用長度為 n 的數組 answer 返回獲獎,其中 answer[i] 是第 i 位運動員的獲獎情況。
示例 1:
輸入:score = [5,4,3,2,1]
輸出:[“Gold Medal”,“Silver Medal”,“Bronze Medal”,“4”,“5”]
解釋:名次為 [1st, 2nd, 3rd, 4th, 5th] 。
示例 2:
輸入:score = [10,3,8,9,4]
輸出:[“Gold Medal”,“5”,“Bronze Medal”,“Silver Medal”,“4”]
解釋:名次為 [1st, 5th, 3rd, 2nd, 4th] 。
提示:
n == score.length
1 <= n <= 10^4
0 <= score[i] <= 10^6
score 中的所有值 互不相同
來源:力扣(LeetCode)

解題思路

??題目需要計算每一個分數的名次,自然需要綁定下標做一次分數從高到低排序,排完序的列表中第i(i<=0<n)項存有原列表的元素以及當前元素在原列表中的下標,而i所表示的便是當前元素的名次,故還需要一次綁定,得到i和元素的原下標,并修改原列表完成算法。

class Solution:def findRelativeRanks(self, score: List[int]) -> List[str]:s=list(enumerate(score))s.sort(key=lambda x:-x[1])podium=["Gold Medal","Silver Medal","Bronze Medal"]for x,(y,z) in enumerate(s):try:score[y]=podium[x]except:score[y]=str(x+1)return score

總結

以上是生活随笔為你收集整理的LeetCode简单题之相对名次的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。