Алиса играет в аркадную игру и хочет подняться на вершину списка лидеров и хочет отследить ее рейтинг. В игре используется Dense Ranking, поэтому ее таблица лидеров работает следующим образом:
Игрок с наибольшим количеством очков занимает первое место в таблице лидеров. Игроки, имеющие одинаковое количество очков, получают одинаковые рейтинговые номера, а следующий игрок (и) получает сразу следующий рейтинговый номер. Например, четыре игрока в таблице лидеров имеют высокие оценки 100, 90, 90 и 80. Эти игроки будут иметь рейтинги 1, 2, 2 и 3 соответственно. Если Алиса набрала 70, 80 и 105 баллов, ее рейтинги после каждой игры - 4-й, 3-й и 1-й.
Описание функции
Выполните функцию climbingLeaderboard в редакторе ниже. Он должен возвращать массив целых чисел, где каждый элемент представляет ранг Алисы после игры.
climbingLeaderboard имеет следующие параметры:
scores: массив целых чисел, представляющих результаты таблицы лидеров alice: an массив целых чисел, которые представляют оценки Алисы
MY LOGIC = Здесь я сначала удалил повторяющиеся числа в массиве scores
, затем я проверил, где элементы в массиве alice
будут ранжироваться, если входит в массив баллов
def climbingLeaderboard(scores, alice):
for i in range(0,len(scores)-1):
for j in range(1,len(scores)-i-1):
if scores[i]==scores[i+j]:
scores.remove(scores[i+j])
for k in range(0,len(alice)):
for c in range(0,len(scores)):
if alice[k]==scores[c]:
return c+1
elif alice[k]>scores[0]:
return 1
elif alice[k]<min(scores):
return len(scores)+1
elif alice[k]<scores[c] and alice[k]>scores[c+1]:
return c+2