cppclass Solution {
public:
vector<string> findRelativeRanks(vector<int>& nums) {
vector<int> org = nums;
sort(nums.rbegin(), nums.rend());
unordered_map<int, string> order;
for (int i = 0; i < nums.size(); i++) {
if (i >= 3) order[nums[i]] = to_string(i+1);
if (i == 0) order[nums[i]] = "Gold Medal";
if (i == 1) order[nums[i]] = "Silver Medal";
if (i == 2) order[nums[i]] = "Bronze Medal";
}
vector<string> res(nums.size(), "");
for (int i = 0; i < res.size(); i++) {
res[i] = order[org[i]];
}
return res;
}
};
//java
class Solution {
String[] ss = new String[]{"Gold Medal", "Silver Medal", "Bronze Medal"};
public String[] findRelativeRanks(int[] score) {
int n = score.length;
String[] ans = new String[n];
int[] clone = score.clone();
Arrays.sort(clone);
Map<Integer, Integer> map = new HashMap<>();
for (int i = n - 1; i >= 0; i--) map.put(clone[i], n - 1 - i);
for (int i = 0; i < n; i++) {
int rank = map.get(score[i]);
ans[i] = rank < 3 ? ss[rank] : String.valueOf(rank + 1);
}
return ans;
}
}
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!