相对名次-LeetCode
相对名次
🎯 问题描述(来源于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位运动员的获奖情况。
说明: n == score.length1 <= n <= 1040 <= score[i] <= 106score中的所有值 互不相同
示例:
- 示例 1:
1 | 输入:score = [5,4,3,2,1] |
- 示例 2:
1 | 输入:score = [10,3,8,9,4] |
💻 解题思路
思路1:希尔排序
思路1:代码实现
1 | class Solution: |
思路1:📊 性能分析
提交结果
- 运行时间:31ms击败23.85%
- 内存消耗:18.61MB击败77.56%
复杂度验证
- 时间复杂度:
- 空间复杂度:
思考
使用希尔排序后再建立索引与值的关系
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 笺札!










