Leet Code Daily 2024-05-08 - Relative Ranks
Code
● ● ●c++unordered_map<int, string> kNames = {
{ 1, "Gold Medal" },
{ 2, "Silver Medal" },
{ 3, "Bronze Medal" },
};
class Solution {
public:
vector<string> findRelativeRanks(vector<int>& score) {
vector<int> sorted_score(score.begin(), score.end());
sort(sorted_score.begin(), sorted_score.end());
vector<string> ret;
for (const auto s : score) {
const int rank = 1 + distance(
upper_bound(sorted_score.begin(), sorted_score.end(), s),
sorted_score.end());
ret.push_back(kNames.contains(rank) ? kNames[rank]: to_string(rank));
}
return ret;
}
};