编辑
2023-11-11
算法题
00
请注意,本文编写于 545 天前,最后修改于 545 天前,其中某些信息可能已经过时。

题目

cpp
class 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 许可协议。转载请注明出处!