Leetcode 506. Relative Ranks

vector<string> findRelativeRanks(vector<int>& nums) {
    vector<string> res(nums.size());
    vector<int> rank(nums.size());
    for(int i = 0;i < nums.size();i++){
        rank[i] = i;
    }
    sort(rank.begin(),rank.end(),[&](int a,int b){return nums[a] > nums[b];});

    for(int i = 3;i < nums.size();i++){
        res[rank[i]] = to_string(i + 1);
    }
    // 将它的序号进行排序(根据序号对应的大小)
    if(nums.size() > 0) 
        res[rank[0]] = "Gold Medal";
    if(nums.size() > 1) 
        res[rank[1]] = "Silver Medal";
    if(nums.size() > 2) 
        res[rank[2]] = "Bronze Medal";
    return res;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容