Напишите программу, которая ищет в массиве наибольший повторяющийся элемент или выводит число -1, если нет повторений

  • 17
Напишите программу, которая ищет в массиве наибольший повторяющийся элемент или выводит число -1, если нет повторений. Входные данные: первая строка содержит размер массива n. Во второй строке через пробел указаны элементы массива. Гарантируется, что 0 < n ≤ 10000. Выходные данные: программа должна вывести наибольший повторяющийся элемент в массиве или число -1, если нет повторений.
Vesenniy_Veter_4026
5
Хорошо, я помогу вам с этой задачей.

Для решения данной задачи мы можем использовать словарь, в котором будем хранить количество повторений каждого элемента массива. В начале создадим пустой словарь. Затем пройдемся по каждому элементу массива и увеличим соответствующее значение в словаре.

После этого, мы сможем найти наибольший повторяющийся элемент. Для этого, пройдемся по всем элементам словаря и найдем ключ, у которого значение является наибольшим. Если такого элемента нет, то мы вернем -1.

Давайте реализуем это в коде.

python
def find_max_repeating_element(n, arr):
count_dict = {} # создаем пустой словарь

for num in arr:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1

max_repeating_element = -1
max_repeating_count = 0

for num, count in count_dict.items():
if count > max_repeating_count:
max_repeating_element = num
max_repeating_count = count

return max_repeating_element

# Пример использования
n = int(input("Введите размер массива: "))
arr = list(map(int, input("Введите элементы массива через пробел: ").split()))

result = find_max_repeating_element(n, arr)
print("Наибольший повторяющийся элемент: ", result)


Данный код позволит найти наибольший повторяющийся элемент в заданном массиве. Kotlin ответит -1, если повторений нет, или выведет наибольший повторяющийся элемент, если такой имеется. При желании, вы можете видоизменить код и добавить обработку ошибок, чтобы гарантировать правильность ввода пользователем.