zoukankan      html  css  js  c++  java
  • 506. Relative Ranks

    Given scores of N athletes, find their relative ranks and the people with the top three highest scores, who will be awarded medals: "Gold Medal", "Silver Medal" and "Bronze Medal".
    Example 1:

    Input: [5, 4, 3, 2, 1]
    Output: ["Gold Medal", "Silver Medal", "Bronze Medal", "4", "5"]
    Explanation: The first three athletes got the top three highest scores, so they got "Gold Medal", "Silver Medal" and "Bronze Medal". 
    For the left two athletes, you just need to output their relative ranks according to their scores.
    

    Note:

    • 1.N is a positive integer and won't exceed 10,000.
    • 2.All the scores of athletes are guaranteed to be unique.

    这道题目的意思是返回数组中每一个元素的排名,不能直接排序这样会打乱每一个元素的原始位置,因为题目上面说数组中的每一个值都是唯一的,所以可以用python的字典方面的找出排序。
    这里我使用的是leetcode其他用户给出的java写法,主要是因为里面的lambda新特性。

    public String[] findRelativeRanks(int[] nums) {
            
            int pair[][] = new int[nums.length][2];
            for(int i = 0; i < nums.length; i++)
            {
                pair[i][0] = nums[i];
                pair[i][1] = i;
            }
            Arrays.sort(pair,(a,b) -> (b[0] - a[0])); 
            String result[] = new String[nums.length];
            for(int i = 0; i < nums.length; i++)
            {
                if (i == 0)
                    result[pair[i][1]] = "Gold Medal";
                else if (i == 1) 
                    result[pair[i][1]] = "Silver Medal";
                else if (i == 2)
                    result[pair[i][1]] = "Bronze Medal";
                else
                    result[pair[i][1]] = (i + 1) + "";
            }
            return result;
        }
    

    上面连接已经给出了详解,我在啰嗦一下pair数值发生变化

    10, 0
    3, 1
    8, 2
    9, 3
    4, 4
    排序后
    10, 0
    9, 3
    8, 2
    4, 4
    3, 1
    

    详细的lambda介绍可见这里

  • 相关阅读:
    37.altium designer中的class和rules?
    36.Altium Designer(Protel)网络连接方式Port和Net Label详解
    35.在PCB中删除元件
    34.pad designer警告
    33.allegro中Autosilk top, Silkscreen top 和Assembly top三个什么区别(转)
    32.DDR2仿真结果
    31.DDR2问题3_waring?
    30.DDR2问题2_local_init_done为什么没拉高?
    29.DDR2问题1仿真模型文件
    lnmp 基础设置
  • 原文地址:https://www.cnblogs.com/wxshi/p/7722082.html
Copyright © 2011-2022 走看看