Ctrl K

Самый разговорчивый в чате

Средняя
Дан журнал группового чата: texts[i] — текст i-го сообщения, authors[i] — имя его автора. Один и тот же человек мог написать несколько сообщений. Сообщение — это слова, разделённые ровно одним пробелом, без пробелов в начале и в конце. Число слов автора — суммарное количество слов во всех его сообщениях. Верните имя автора с наибольшим числом слов. Если таких несколько, верните лексикографически наибольшее имя. Сравнение посимвольное: все заглавные латинские буквы меньше строчных, а "Bob" и "bob" — разные авторы.
Пример 1
texts=["see you at noon", "ok", "running late sorry", "fine"], authors=["mira", "Tom", "Tom", "mira"] → 'mira'

У mira 4 + 1 = 5 слов, у Tom 1 + 3 = 4. Побеждает mira.

Пример 2
texts=["hello there", "good night"], authors=["Zoe", "adam"] → 'adam'

У обоих по 2 слова. Строчные буквы идут после заглавных, поэтому «adam» больше, чем «Zoe».

Ограничения
  • 1 ≤ len(texts) = len(authors) ≤ 10⁵
  • 1 ≤ len(texts[i]) ≤ 100; сообщение состоит из латинских букв и одиночных пробелов между словами
  • 1 ≤ len(authors[i]) ≤ 10; имя состоит только из латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамые частые запросы СредняяСводка заходов по доменам СредняяРейтинг финалистов по голосам жюри СредняяКод из двух кусков СредняяПалиндром из двухбуквенных карточек Средняя
загружаем Python…
Вход
texts=["see you at noon", "ok", "running late sorry", "fine"], authors=["mira", "Tom", "Tom", "mira"]
Ожидается
'mira'

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 118 тестов на сервере, включая скрытые.