votes записаны номера кандидатов, за которых голосовали, — по одному числу на бюллетень. Всего бюллетеней n.
Верните всех кандидатов, получивших больше ⌊n / 3⌋ голосов. Порядок в ответе не важен.
Попробуйте решить за линейное время и O(1) дополнительной памяти.votes=[4, 7, 4, 2, 7, 4] → [4]
Голосов 6, порог — больше 2. У 4 три голоса, у 7 два, у 2 один: подходит только 4.
votes=[-5, 8] → [-5, 8]
Порог — больше 0 голосов, так что проходят оба.
votes=[1, 2, 3, 1, 2, 3] → []
У каждого ровно треть голосов, а нужно строго больше — список пуст.
votes) ≤ 5·10⁴votes[i] ≤ 10⁹votes=[4, 7, 4, 2, 7, 4]
[4]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 80 тестов на сервере, включая скрытые.