高手競技 比賽排名頒獎(排序應用) Leetcode_#506

閱讀時間約 3 分鐘

題目敘述

輸入給定一個整數陣列,分別代表每位運動員在比賽中的成績

分數最高的給予金牌"Gold Medal"
分數次高的給予金牌"Silver Medal"
分數第三高的給予金牌"Bronze Medal"
剩餘的名次依照順序給予"4", "5", ..., "n" 的編號

輸出時以字串陣列返回答案


原本的英文題目敘述


測試範例

Example 1:

Input: score = [5,4,3,2,1]
Output: ["Gold Medal","Silver Medal","Bronze Medal","4","5"]
Explanation: The placements are [1st, 2nd, 3rd, 4th, 5th].

Example 2:

Input: score = [10,3,8,9,4]
Output: ["Gold Medal","5","Bronze Medal","Silver Medal","4"]
Explanation: The placements are [1st, 5th, 3rd, 2nd, 4th].

約束條件

Constraints:

  • n == score.length

令n代表分數陣列的長度。

  • 1 <= n <= 10^4

n介於 1 ~ 一萬之間。

  • 0 <= score[i] <= 10^6

每位選手的分數介於0~一百萬之間。

  • All the values in score are unique.

每位選手的分數都不同,不會有同分的情況


演算法 排序

這題滿直覺的,題目已經保證不會有同分的情況

因此,直接對分數進行排序
冠軍拿金牌,亞軍拿銀牌,季軍拿銅牌,剩下的名次拿到對應的數字即可。


程式碼 排序

class Solution:
def findRelativeRanks(self, nums):

# 對分數由大到小進行排序
place = sorted(nums, reverse = True)

# 依照名次給對應的獎牌
prize = ["Gold Medal", "Silver Medal", "Bronze Medal"] + list(map(str, range(4, len(nums) + 1)))

# 依照每個選手的排名進行頒獎
return map(dict(zip(place, prize)).get, nums)

複雜度分析

時間複雜度: O(n log n)

n個分數進行排序,所需時間為O( n log n)。


空間複雜度: O(n)

place 排名陣列, prize獎牌陣列, 和臨時的mapping table所需空間皆為 O(n)。


關鍵知識點

題目已經保證不會有同分的情況

因此,直接對分數進行排序

冠軍拿金牌,亞軍拿銀牌,季軍拿銅牌,剩下的名次拿到對應的數字即可。


Reference

[1] Relative Ranks - LeetCode

86會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
題目敘述 給定一個非零陣列nums,請找出陣列裡面 最大的對偶數 是誰? 如果無解,請返回-1 對偶數定義: 整數k的對偶數是-k 例如: 99 和 -99互為對偶數。
題目敘述 給定一個piles陣列,裡面對應到每堆石頭的數量。 Alice 和 Bob玩輪流取石頭的遊戲,總共有n堆石頭,每堆的石頭數量有多有少。 Alice先取,接著Bob,反覆交替,每回合輪到的人可以從當下的第一堆或者最後一堆,拿走那堆對應的石頭。 最後比誰拿到的石頭總數量比較多就獲勝。
在沙龍主頁面的右上角,現在多一個放大鏡圖案的搜尋介面。 裡面可以輸入你想看的主題、關鍵字或者Leetcode題號, 就可以找到相關的文章與演算法框架分析。 例如: 搜尋 DFS 搜尋 DP 搜尋 圖論 搜尋 Coin Change ... 歡迎舊雨新知多多利用!
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
題目敘述 給定一個非零陣列nums,請找出陣列裡面 最大的對偶數 是誰? 如果無解,請返回-1 對偶數定義: 整數k的對偶數是-k 例如: 99 和 -99互為對偶數。
題目敘述 給定一個piles陣列,裡面對應到每堆石頭的數量。 Alice 和 Bob玩輪流取石頭的遊戲,總共有n堆石頭,每堆的石頭數量有多有少。 Alice先取,接著Bob,反覆交替,每回合輪到的人可以從當下的第一堆或者最後一堆,拿走那堆對應的石頭。 最後比誰拿到的石頭總數量比較多就獲勝。
在沙龍主頁面的右上角,現在多一個放大鏡圖案的搜尋介面。 裡面可以輸入你想看的主題、關鍵字或者Leetcode題號, 就可以找到相關的文章與演算法框架分析。 例如: 搜尋 DFS 搜尋 DP 搜尋 圖論 搜尋 Coin Change ... 歡迎舊雨新知多多利用!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
2022.08.19 博物學家翻閱的是地球之書,但教育者卻不僅僅是說書人。 光要把書說的精彩就已經夠難的了,戴上博物學家的眼鏡之後,教育者還得把眼鏡摘下,換個思路,再戴上學習者的眼鏡。 因為,對概念為本的學習者,期待的不是成為一個好的聽眾,而是成為能主動戴上眼鏡,也能主動脫下眼鏡的人。
Thumbnail
2022.08.03 最近看到這句話,「思想走在觀察前面」,真是太貼切了。 你如何想,決定了你看見什麼,更決定了後續的事情。 因此每個不同的領域、不同的人,都像是戴著各自的有色眼鏡在觀看世界。 這個眼鏡,就是「思維模式」,是你如何「概念化」這個世界,以方便自己理解並接受它。 它關乎你如
Thumbnail
詮釋是我們理解世界的關鍵途徑。 在閱讀中,我們總會遇到一些抓住自己注意力,引人入勝的點。這些能抓住我們注意力的點,稱為「注意力客體」。選擇特定的注意力客體,進一步深入研究,進行「詮釋」,是快速成為高手的關鍵。 根據我取得統計博士這5年期間的經驗,將「詮釋」應用於知識工作,有3個重要訣竅: 訣竅1 -
Thumbnail
【第59集主題】如何創造練習的心境? 上集我們聊到人生很公平,每個人都只有二十四小時,所以一定要記得這句話:「時間花在那裡,成就就在那裡!」如果你也厭倦了無止境地怕錯過什麼,那就一定要學會練功!當你的人生有明確的目標,逐夢踏實在邁出腳下這一步,你的心境反而會平靜和自在,看了這麼多書,老實說要完全落實
Thumbnail
【第59集主題】如何創造練習的心境? 本集聲音筆記選書:《練習的心智》 對節目內容有興趣,想看文字稿和精美【手感筆記】, 歡迎到【方格子】平台找“小倉鼠”! ⭐️ 【學習】和【練習】本質上不同! ⭐️ 人生其實都是考古題! ⭐️ 老問題!如何一一【解鎖】! ⭐️ 心心念念,卻【得不到】
Thumbnail
  在微風巧遇John,他是公司多年前離職的同事。我倆剛好都有空檔,就坐下來喝個咖啡聊聊近況。看他白髮蒼蒼,外表年齡比實際年齡大上好多。在我印象中他是一個超級好脾氣的先生,誰和他要求甚麼都是有求必應。怎會看起來滄桑這麼多? 我:你最近在忙些甚麼,過得好不好? John:你也在這產業這麼久,應懂客戶阿
Thumbnail
一件說來慚愧的事,去年金馬要看《靜寂的鼓手》的那天早上睡過頭,當時覺得錯過也許不甚可惜,直到在串流上看完了全片才意識到 — 僅以電腦喇叭的規格播送《靜寂的鼓手》的音效完全是相當粗暴的對待…。本片藉視點與聽點重合、切換而引導出感官失衡到重歸平靜的生存掙扎,在精細的擬音呈現下足以將觀者拉近角色的狀態感知
Thumbnail
剛剛在93屆奧斯卡金像獎拿下最佳音效與最佳剪輯獎的電影《靜寂的鼓手》,其實早在2019年就於多倫多國際影展舉行了全球首映,而時至2020年的金馬影展,則首次與台灣觀眾見面。近期,《靜寂的鼓手》也終於在friDay影音、Hami Video等串流平台上架了。
Thumbnail
《靜寂的鼓手》,又名金屬之聲(sound of metal ),由達瑞斯馬德爾執導,演員里茲阿邁德、奧利薇亞庫克、保羅拉奇主演。 劇情鼓手魯本與主唱女友露,在美國巡迴表演之時,忽然喪失聽力,不僅被迫放棄樂團,也逐漸遠離原本的生活型態。
Thumbnail
可以說,這部片體現了電影的聲效工業與音效剪輯的擬真、與共情「感知的同理」的驚人之處,全片不是用主客觀鏡頭區分,而是「主客音效」不斷切換、轉換。當他可融入、可維持「一切如常」幻想時可浸入、「回返」與常人共有的音場,但當他感受到「異物感」──無論自己之於周遭,或周遭之於內心世界──時又抽離⋯⋯
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
2022.08.19 博物學家翻閱的是地球之書,但教育者卻不僅僅是說書人。 光要把書說的精彩就已經夠難的了,戴上博物學家的眼鏡之後,教育者還得把眼鏡摘下,換個思路,再戴上學習者的眼鏡。 因為,對概念為本的學習者,期待的不是成為一個好的聽眾,而是成為能主動戴上眼鏡,也能主動脫下眼鏡的人。
Thumbnail
2022.08.03 最近看到這句話,「思想走在觀察前面」,真是太貼切了。 你如何想,決定了你看見什麼,更決定了後續的事情。 因此每個不同的領域、不同的人,都像是戴著各自的有色眼鏡在觀看世界。 這個眼鏡,就是「思維模式」,是你如何「概念化」這個世界,以方便自己理解並接受它。 它關乎你如
Thumbnail
詮釋是我們理解世界的關鍵途徑。 在閱讀中,我們總會遇到一些抓住自己注意力,引人入勝的點。這些能抓住我們注意力的點,稱為「注意力客體」。選擇特定的注意力客體,進一步深入研究,進行「詮釋」,是快速成為高手的關鍵。 根據我取得統計博士這5年期間的經驗,將「詮釋」應用於知識工作,有3個重要訣竅: 訣竅1 -
Thumbnail
【第59集主題】如何創造練習的心境? 上集我們聊到人生很公平,每個人都只有二十四小時,所以一定要記得這句話:「時間花在那裡,成就就在那裡!」如果你也厭倦了無止境地怕錯過什麼,那就一定要學會練功!當你的人生有明確的目標,逐夢踏實在邁出腳下這一步,你的心境反而會平靜和自在,看了這麼多書,老實說要完全落實
Thumbnail
【第59集主題】如何創造練習的心境? 本集聲音筆記選書:《練習的心智》 對節目內容有興趣,想看文字稿和精美【手感筆記】, 歡迎到【方格子】平台找“小倉鼠”! ⭐️ 【學習】和【練習】本質上不同! ⭐️ 人生其實都是考古題! ⭐️ 老問題!如何一一【解鎖】! ⭐️ 心心念念,卻【得不到】
Thumbnail
  在微風巧遇John,他是公司多年前離職的同事。我倆剛好都有空檔,就坐下來喝個咖啡聊聊近況。看他白髮蒼蒼,外表年齡比實際年齡大上好多。在我印象中他是一個超級好脾氣的先生,誰和他要求甚麼都是有求必應。怎會看起來滄桑這麼多? 我:你最近在忙些甚麼,過得好不好? John:你也在這產業這麼久,應懂客戶阿
Thumbnail
一件說來慚愧的事,去年金馬要看《靜寂的鼓手》的那天早上睡過頭,當時覺得錯過也許不甚可惜,直到在串流上看完了全片才意識到 — 僅以電腦喇叭的規格播送《靜寂的鼓手》的音效完全是相當粗暴的對待…。本片藉視點與聽點重合、切換而引導出感官失衡到重歸平靜的生存掙扎,在精細的擬音呈現下足以將觀者拉近角色的狀態感知
Thumbnail
剛剛在93屆奧斯卡金像獎拿下最佳音效與最佳剪輯獎的電影《靜寂的鼓手》,其實早在2019年就於多倫多國際影展舉行了全球首映,而時至2020年的金馬影展,則首次與台灣觀眾見面。近期,《靜寂的鼓手》也終於在friDay影音、Hami Video等串流平台上架了。
Thumbnail
《靜寂的鼓手》,又名金屬之聲(sound of metal ),由達瑞斯馬德爾執導,演員里茲阿邁德、奧利薇亞庫克、保羅拉奇主演。 劇情鼓手魯本與主唱女友露,在美國巡迴表演之時,忽然喪失聽力,不僅被迫放棄樂團,也逐漸遠離原本的生活型態。
Thumbnail
可以說,這部片體現了電影的聲效工業與音效剪輯的擬真、與共情「感知的同理」的驚人之處,全片不是用主客觀鏡頭區分,而是「主客音效」不斷切換、轉換。當他可融入、可維持「一切如常」幻想時可浸入、「回返」與常人共有的音場,但當他感受到「異物感」──無論自己之於周遭,或周遭之於內心世界──時又抽離⋯⋯