Создайте программу, которая определяет максимальное повторение элемента в массиве или возвращает число -1, если ни один

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

Галина_2967

Хорошо, чтобы решить данную задачу, мы можем использовать словарь, чтобы отслеживать количество повторений каждого элемента массива. Ниже приведен пошаговый алгоритм для создания такой программы:

1. Считываем размер массива `n`.
2. Считываем элементы массива и сохраняем их в списке `arr`.
3. Создаем пустой словарь `count_dict` для отслеживания количества повторений.
4. Для каждого элемента `num` в списке `arr`:
- Если `num` уже есть как ключ в словаре `count_dict`, увеличиваем его значение на 1.
- Если `num` отсутствует как ключ, добавляем его в словарь `count_dict` и устанавливаем значение равным 1.
5. Если словарь `count_dict` пустой, выводим число -1 и завершаем программу.
6. Находим максимальное значение повторений с помощью функции `max()`.
7. Идем по словарю `count_dict` и находим первый ключ, значение которого равно найденному максимальному значению повторений.
8. Выводим этот ключ (максимально повторяющийся элемент) в качестве результата.

Ниже приведена реализация этого алгоритма на языке Python:

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

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

if len(count_dict) == 0:
print("-1") # Выводим -1, если нет повторяющихся элементов
else:
max_count = max(count_dict.values()) # Находим максимальное количество повторений
for key, value in count_dict.items():
if value == max_count:
print(key) # Выводим первый элемент с максимальным количеством повторений и завершаем программу
break


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