领扣LintCode算法问题答案-1200. 相对排名
发布日期:2021-06-30 17:10:17 浏览次数:2 分类:技术文章

本文共 1344 字,大约阅读时间需要 4 分钟。

领扣LintCode算法问题答案-1200. 相对排名

目录

1200. 相对排名

描述

根据N名运动员的得分,找到他们的相对等级和获得最高分前三名的人,他们将获得奖牌:“金牌”,“银牌”和“铜牌”。

  • N是正整数,并且不超过10,000。
  • 所有运动员的成绩都保证是独一无二的。

样例 1:

输入: [5, 4, 3, 2, 1]输出: ["Gold Medal", "Silver Medal", "Bronze Medal", "4", "5"]说明:前三名运动员获得前三名最高分,因此获得“金牌”,“银牌”和“铜牌”。对于后两名运动员,你只需要根据他们的分数输出他们的相对等级。

题解

public class Solution {
/** * @param nums: List[int] * @return: return List[str] */ public String[] findRelativeRanks(int[] nums) {
// write your code here int[] ranks = new int[nums.length]; System.arraycopy(nums, 0, ranks, 0, nums.length); Arrays.sort(ranks); String[] ret = new String[nums.length]; for (int i = 0; i < nums.length; i++) {
int index = Arrays.binarySearch(ranks, nums[i]); int rank = nums.length - index; switch (rank) {
case 1: ret[i] = "Gold Medal"; break; case 2: ret[i] = "Silver Medal"; break; case 3: ret[i] = "Bronze Medal"; break; default: ret[i] = String.valueOf(rank); break; } } return ret; }}

鸣谢

非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。

欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

转载地址:https://le-yi.blog.csdn.net/article/details/108899441 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:领扣LintCode算法问题答案-1204. 键盘的一行
下一篇:领扣LintCode算法问题答案-1199. 完美的数

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月18日 06时33分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章