go語言題解LeetCode506相對名次示例詳解
一 描述
給你一個長度為 n
的整數(shù)數(shù)組 score
,其中 score[i]
是第 i
位運動員在比賽中的得分。所有得分都 互不相同 。
運動員將根據(jù)得分 決定名次 ,其中名次第 1
的運動員得分最高,名次第 2
的運動員得分第 2
高,依此類推。運動員的名次決定了他們的獲獎情況:
- 名次第 1 的運動員獲金牌 "Gold Medal" 。
- 名次第 2 的運動員獲銀牌 "Silver Medal" 。
- 名次第 3 的運動員獲銅牌 "Bronze Medal" 。
- 從名次第 4 到第 n 的運動員,只能獲得他們的名次編號(即,名次第 x 的運動員獲得編號 "x")。
使用長度為 n 的數(shù)組 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 中的所有值 互不相同
二 分析
本題以map映射求解,首先把所有的字符串分別添加到指定map集合中去,并依次給予對應(yīng)的索引,隨后對字符串?dāng)?shù)組進行從大到小排序,并依次從map集合中由鍵找值,并把該值給到提前創(chuàng)建的字符串?dāng)?shù)組中作為索引,從大到小依次賦予“Gold Medal”、“Silver Medal”、“Bronze Medal”以及3、4、5...
三 答案
class Solution { public String[] findRelativeRanks(int[] nums) { if(nums.length==1) { return new String[]{"Gold Medal"}; } String[] arr = new String[nums.length]; Map<Integer,Integer> map = new HashMap<Integer,Integer>(); int count = 0; for(int i = 0,j=0;i<nums.length && j<nums.length;i++,j++) { map.put(nums[i],j); } Arrays.sort(nums); for(int i = 0;i<nums.length/2;i++) { int temp = nums[nums.length-i-1]; nums[nums.length-i-1] = nums[i]; nums[i] = temp; } if(nums.length==2) { arr[map.get(nums[0])] = "Gold Medal"; arr[map.get(nums[1])] = "Silver Medal"; return arr; } arr[map.get(nums[0])] = "Gold Medal"; arr[map.get(nums[1])] = "Silver Medal"; arr[map.get(nums[2])] = "Bronze Medal"; for(int i = 3;i<nums.length;i++) { arr[map.get(nums[i])] = i+1+""; } return arr; } }
以上就是go語言題解LeetCode506相對名次示例詳解的詳細內(nèi)容,更多關(guān)于go語言題解相對名次的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
GO web 數(shù)據(jù)庫預(yù)處理的實現(xiàn)
本文主要介紹了GO web 數(shù)據(jù)庫預(yù)處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法
這篇文章主要介紹了MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05golang對etcd存取和數(shù)值監(jiān)測的實現(xiàn)
這篇文章主要介紹了golang對etcd存取和數(shù)值監(jiān)測的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09VSCode Golang dlv調(diào)試數(shù)據(jù)截斷問題及處理方法
這篇文章主要介紹了VSCode Golang dlv調(diào)試數(shù)據(jù)截斷問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06golang?中?channel?的詳細使用、使用注意事項及死鎖問題解析
這篇文章主要介紹了golang?中?channel?的詳細使用、使用注意事項及死鎖分析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03