【leetcode】506. Relative Ranks

problem

506. Relative Ranks

solution1:使用优先队列;

掌握priority_queuepair的使用;

class Solution {
public:
    vector<string> findRelativeRanks(vector<int>& nums) {
        priority_queue<pair<int, int>> myqueue;//
        for(int i=0; i<nums.size(); i++)
        {
            myqueue.push(pair(nums[i], i));//
        }
        vector<string> ans(nums.size(), "");//
        int idx = 0, cnt = 1;
        for(int i=0; i<nums.size(); i++)
        {
            idx = myqueue.top().second;//
            myqueue.pop();
            if(cnt==1) ans[idx] = "Gold Medal";//
            else if(cnt==2) ans[idx] = "Silver Medal";
            else if(cnt==3) ans[idx] = "Bronze Medal";
            else ans[idx] = to_string(cnt);
            cnt++;
        }
        return ans;
        
    }
};

solution2: 使用映射map;

参考

1. Leetcode_506. Relative Ranks;

原文地址:https://www.cnblogs.com/happyamyhope/p/10925427.html