задачка на моду

Подсчитайте частоты и верните наиболее частое число. Для пустого списка и нескольких мод нужно явно определить поведение функции.

Короткий ответ

Что ответить на собеседовании

Подсчитайте частоты и верните наиболее частое число. Для пустого списка и нескольких мод нужно явно определить поведение функции.

Подробный разбор

Ответ с пояснениями

Условие

задачка на моду

Есть список чисел. Напишите функцию, которая находит моду этого списка.

find_mode([1, 2, 3, 3, 4, 5]) #> 3

Ответ

Подсчитайте частоты и верните наиболее частое число. Для пустого списка и нескольких мод нужно явно определить поведение функции.

Вариант возвращает первую встретившуюся моду, а для пустого списка — None:

from collections import Counter

def find_mode(values):
    if not values:
        return None
    counts = Counter(values)
    return max(counts, key=counts.get)

print(find_mode([1, 2, 3, 3, 4, 5]))  # 3

В современных Python Counter сохраняет порядок первого появления ключей. Время — O(n), дополнительная память — O(k), где k — число разных значений. Если нужны все моды, выберите все ключи с максимальной частотой.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее