[Leetcode] 506. Relative Ranks 解题报告
来源:互联网 发布:潘多拉 pppoe mac 编辑:程序博客网 时间:2024/04/29 17:06
题目:
Given scores of N athletes, find their relative ranks and the people with the top three highest scores, who will be awarded medals: "Gold Medal", "Silver Medal" and "Bronze Medal".
Example 1:
Input: [5, 4, 3, 2, 1]Output: ["Gold Medal", "Silver Medal", "Bronze Medal", "4", "5"]Explanation: The first three athletes got the top three highest scores, so they got "Gold Medal", "Silver Medal" and "Bronze Medal".
For the left two athletes, you just need to output their relative ranks according to their scores.
Note:
- N is a positive integer and won't exceed 10,000.
- All the scores of athletes are guaranteed to be unique.
思路:
既可以直接做全排序,也可以用大顶堆或者优先级队列。不过时间复杂度都是O(nlogn)。我这里用了全排序,代码看起来更清爽一些。
代码:
class Solution {public: vector<string> findRelativeRanks(vector<int>& nums) { vector<pair<int, int>> ranks; vector<string> ret(nums.size(), ""); for (int i = 0; i < nums.size(); ++i) { ranks.push_back(make_pair(nums[i], i)); } sort(ranks.begin(), ranks.end()); reverse(ranks.begin(), ranks.end()); for (int i = 0; i < ranks.size(); ++i) { if (i == 0) { ret[ranks[i].second] = "Gold Medal"; } else if (i == 1) { ret[ranks[i].second] = "Silver Medal"; } else if (i == 2) { ret[ranks[i].second] = "Bronze Medal"; } else { ret[ranks[i].second] = to_string(i + 1); } } return ret; }};
阅读全文
0 0
- [Leetcode] 506. Relative Ranks 解题报告
- 【LeetCode】Relative Ranks 解题报告
- LeetCode 506. Relative Ranks
- [Leetcode] 506. Relative Ranks
- LeetCode-506. Relative Ranks
- leetcode 506. Relative Ranks
- LeetCode 506. Relative Ranks
- 【Leetcode】506. Relative Ranks
- LeetCode | 506. Relative Ranks
- [LeetCode]506. Relative Ranks
- leetcode 506. Relative Ranks
- LeetCode 506. Relative Ranks
- [leetcode]: 506. Relative Ranks
- leetcode 506. Relative Ranks
- [leetcode]506. Relative Ranks
- LeetCode 506. Relative Ranks
- Leetcode 506. Relative Ranks
- 【LeetCode】506. Relative Ranks
- caffe学习:层
- R-CNN配置
- BP网络-数字识别
- Android ColorMatrix 变换 饱和度 缩放
- 在dialog里 使用 butterknife
- [Leetcode] 506. Relative Ranks 解题报告
- IPFS + Ethereum -js-ipfs-api
- 数字图像处理-提取A4纸中线条-matlab的轮廓提取方法
- 谈谈python拷贝
- 实施面试题和答案
- 18至今,学习Linux让我快速成长的三件事
- 丑数 uva156
- 数据结构——排序理解
- WCF编程系列(一)初识WCF