高手競技 比賽排名頒獎(排序應用) 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

84會員
421內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言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
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
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
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
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
可以說,這部片體現了電影的聲效工業與音效剪輯的擬真、與共情「感知的同理」的驚人之處,全片不是用主客觀鏡頭區分,而是「主客音效」不斷切換、轉換。當他可融入、可維持「一切如常」幻想時可浸入、「回返」與常人共有的音場,但當他感受到「異物感」──無論自己之於周遭,或周遭之於內心世界──時又抽離⋯⋯