5.9. Проблемы с производительностью списка лидеров
Работа над заданием
Задание принимается автоматически после нажатия на кнопку «Задание готово»
Аналитики уже известного нам «Удара легенд» с ужасом заметили, что показ общего списка лидеров по запросу игроков отрабатывает очень долго и сильно нагружает игровые серверы. Зная, что вы писали несколько фичей для других списков лидеров внутри игры, они пришли просить вашей помощи.
Используя ту же модель данных, что и в прошлом практическом задании, напишите функцию, которая из НЕсортированного списка счётов игроков отдаёт топ-3 лучших, не прибегая к полной сортировке. Можете использовать любой из уже известных вам алгоритмов сортировки.
Можете использовать данные из этого раздела в качестве тестовых.
[
{
"login": "DreamLess",
"leaguePoints": 956
},
{
"login": "cavernous",
"leaguePoints": 1056
},
{
"login": "SaiyanBroadway",
"leaguePoints": 1432
},
{
"login": "BlondiePlanet",
"leaguePoints": 1045
},
{
"login": "Mountaintrid",
"leaguePoints": 1130
},
{
"login": "cathead",
"leaguePoints": 930
},
{
"login": "rstrazir",
"leaguePoints": 356
},
{
"login": "stypeano",
"leaguePoints": 4
},
{
"login": "CzarStories",
"leaguePoints": 568
},
{
"login": "ConspiracyLil",
"leaguePoints": 18
},
{
"login": "GottaSaiyan",
"leaguePoints": 931
},
{
"login": "Goldenelox",
"leaguePoints": 932
},
{
"login": "Breakingbing",
"leaguePoints": 64
},
{
"login": "Rectionom",
"leaguePoints": 42
},
{
"login": "BoostScooby",
"leaguePoints": 1476
},
{
"login": "JoshChase",
"leaguePoints": 931
}
]