506相对名次【c++,map】

解题思路
map底层实现是一棵红黑树,按照key值升序排列,题目给出分数各自不同 分情况讨论:
n=1:这个人就是金牌n=2:两个人比较一下得出金银牌n>=3
用一个maptemp来存放分数和下标值(下标值代表第几位)。根据排序的结果从第1到n-3位的名次就是他们分数的名次,我们已知map是升序排列,因此在map中的第一位名次是n,以此类推。在map中的最后三位分别是金银铜牌。
map查找的时间复杂度是O(logn),最终的时间复杂度是O(n*logn)
代码
class Solution {
public:
vector findRelativeRanks(vector& score) {
int n=score.size();
vectoranswer(n);
if(n==1){

506相对名次【c++,map】最先出现在Python成神之路

版权声明:
作者:admin
链接:https://www.techfm.club/p/7059.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>