【发布时间】:2019-12-18 06:42:04
【问题描述】:
我正在尝试在 Hackerrank:https://www.hackerrank.com/challenges/climbing-the-leaderboard 上解决这个问题。问题陈述基本上表明有两组分数,一个是玩家,另一个是 Alice,我们必须使用 dense ranking 并显示 Alice 与其他玩家的分数相比的排名。它在大型测试用例上给了我超时错误。我已经在 Hackerrank 上使用了论坛建议并且成功了,但特别是我很想知道我的代码中的问题。这是我的代码:
class Dict(dict):
def __init__(self):
self=dict()
def add(self,key,value):
self[key]=value
def climbingLeaderboard(scores, alice):
alice_rank=[]
for i in range(len(alice)):
scores.append(alice[i])
a=list(set(scores))
a.sort(reverse=True)
obj=Dict()
b=1
for j in a:
obj.add(j,b)
b+=1
if alice[i] in obj:
alice_rank.append(obj[alice[i]])
scores.remove(alice[i])
return alice_rank
【问题讨论】:
标签: python python-3.x algorithm