class Solution {
public String[] findRelativeRanks(int[] score) {
/**
* 优先队列的元素是数组,因此必须要重写compare()方法,但只需要比较int[0]即可
*/
PriorityQueue<int[]> pq = new PriorityQueue<>(new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[0] - o2[0];
}
});
for (int i = 0; i < score.length; i++) {
pq.add(new int[]{score[i], i});
}
String[] strs = new String[score.length];
int n = score.length;
while (pq.size() > 0) {
if (n == 1){
strs[pq.poll()[1]] = "Gold Medal";
}
else if (n == 2){
strs[pq.poll()[1]] = "Silver Medal";
}
else if (n == 3){
strs[pq.poll()[1]] = "Bronze Medal";
}
else {
strs[pq.poll()[1]] = Integer.toString(n);
}
n--;
}
return strs;
}
}
506. 相对名次
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【快乐水题】506. 相对名次
原题:力扣链接:506. 相对名次题目简述:给你一个长度为 n 的整数数组 score ,其中 score
leetcode 算法 c++ 数组 i++ -
【LeetCode】第31天 - 506. 相对名次
506. 相对名次题目描述解题思路代码实现题目描述解题思路首先使用一个哈希表,哈希表的key,value分别存放第i位运
java leetcode 算法 hash 赋值 -
506. 相对名次、Leetcode的Go实现
博客主页:?看看是李XX还是李歘歘??每天分享一些包括但不限于计算机基础、算法等相关的知识点??点关注不迷路
leetcode golang 算法 数组 i++ -
Leetcode 506. 相对名次(可以,一次过)
给你一个长度为 n 的整数
i++ 数组 4th -
LeetCode---506.相对名次(pair的使用)
在这个代码中,有一个问题是在排序时,sort 函数的第三个参数应该是一个比较函数对象,而不是简单地使用 less(),因为 arr 是
leetcode 算法 职场和发展 数组 函数对象 -
【算法千题案例】每日LeetCode打卡——67.相对名次
算法题打卡:相对名次。没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。所以说,树倒了,没有一片雪花是无辜的
算法 leetcode java c# 编程语言 -
Java实现 LeetCode 506 相对名次
506. 相对名次给出 N 名运动员的成绩,...
计数排序 i++ 数组 键值对 编程题目
















