Посчитайте частоты в словаре и выберите ключ с максимальным счётчиком. Для примера это 4: он встречается четыре раза. При равенстве можно явно выбрать первый встретившийся элемент.
Определение элемента с наибольшей частотой появления в массиве
Посчитайте частоты в словаре и выберите ключ с максимальным счётчиком. Для примера это 4: он встречается четыре раза. При равенстве можно явно выбрать первый встретившийся элемент.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо реализовать функцию count_frequency, которая возвращает элемент, встречающийся в списке максимальное количество раз.
def count_frequency(data):
# TODO: Implement the function
pass
# Проверка функции
items = [2, 3, 2, 4, 5, 6, 4, 5, 2, 4, 4]
most_common = count_frequency(items)
print("Frequency:", most_common)
Ответ
Посчитайте частоты в словаре и выберите ключ с максимальным счётчиком. Для примера это 4: он встречается четыре раза. При равенстве можно явно выбрать первый встретившийся элемент.
Реализация для хешируемых значений:
def count_frequency(data):
counts = {}
for value in data:
counts[value] = counts.get(value, 0) + 1
if not counts:
return None
return max(counts, key=counts.get)
Порядок добавления ключей обеспечивает выбор первого при равной частоте. Печать из примера даст Frequency: 4. Возвращается сам элемент, не число его повторений. Время ожидаемо O(n), память O(k) для k различных значений.