日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

leetcode 506. 相对名次(Java版)

發(fā)布時間:2024/2/28 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 506. 相对名次(Java版) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目

https://leetcode-cn.com/problems/relative-ranks/

題解

思路主要是,將運動員一開始的位置記錄下來,方便頒獎的時候去指定位置頒給指定的人。

  • 先用map記住每個人的下標,然后給每個人排序。
  • 排序后即可順序推斷出獎項名稱。
  • 于是,根據(jù)分數(shù)查詢 map,找到原有的下標,將獎項名稱填入原有的下標中。
  • 代碼

    import java.util.Arrays; import java.util.HashMap;public class Solution {public String[] findRelativeRanks(int[] score) {HashMap<Integer, Integer> map = new HashMap<>(); // k,v = (score,index)for (int i = 0; i < score.length; i++) {map.put(score[i], i);}Arrays.sort(score);reverse(score);String[] result = new String[score.length];for (int i = 0; i < result.length; i++) {if (i == 0) result[map.get(score[i])] = "Gold Medal";else if (i == 1) result[map.get(score[i])] = "Silver Medal";else if (i == 2) result[map.get(score[i])] = "Bronze Medal";else result[map.get(score[i])] = Integer.toString(i + 1);}return result;}public void reverse(int[] array) {for (int i = 0; i < array.length / 2; i++) {int t = array[i];array[i] = array[array.length - i - 1];array[array.length - i - 1] = t;}} }

    總結(jié)

    以上是生活随笔為你收集整理的leetcode 506. 相对名次(Java版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。