题目
分析
一道简单题,力扣分在优先队列分类中,可以使用pair容器排序。
代码
class Solution
{
public:
vector<string> findRelativeRanks(vector<int>& score)
{
int n = score.size();
string three[3] = {"Gold Medal", "Silver Medal", "Bronze Medal"}; //定义前三名的字符串容器
vector<pair<int,int>> arr;
for(int i = 0; i < n; i++)
{
arr.emplace_back(make_pair(-score[i],i));
}
sort(arr.begin(),arr.end()); //sort本是从小到大,在score[i]前添了负号变成从大到小
vector<string> answer(n);
for(int i = 0; i < n; i++) //赋值操作
{
if(i >= 3) //下标从0开始
{
answer[arr[i].second] = to_string(i+1);
}
else
{
answer[arr[i].second] = three[i];
}
}
return answer;
}
};
小结
学到从大到小排序。