Защитник от спама МТС смотрит журнал входящих звонков абонента за сутки: calls — номера в формате +79XXXXXXXXX, по одному на звонок.
Верните номера, которые звонили не меньше k раз, — по убыванию числа звонков, а при равенстве по возрастанию номера (как строки).
В работе: Номер, который за сутки набрал абонента 6 раз и ни разу не дождался ответа, уходит на проверку как возможный спам.
Пример 1
Ввод
calls = ["+79161234567", "+79035550011", "+79161234567", "+79260001122", "+79035550011", "+79161234567"] k = 2
Вывод
["+79161234567", "+79035550011"]
+79161234567 — 3 звонка, +79035550011 — 2, третий номер звонил один раз.
Пример 2
Ввод
calls = [] k = 1
Вывод
[]
Звонков не было.
Ограничения
- 0 ≤ длина
calls≤ 10⁵ - 1 ≤ k ≤ 10⁵
- Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def frequent_callers(calls, k):
Источник: наша задача на данных МТС. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.