Нахождение режима из n чисел

Я пытаюсь написать программу, в которой пользователь дает n чисел, и программа должна выяснить, какое число повторяется чаще всего.
например для чисел: 4 5 5 1 3 1 1 7 1 ответ 1
Кстати, я новичок, поэтому большинство ответов, которые уже были на сайте, меня не устраивали.
Я был бы очень благодарен.

-3

Решение

Используйте хэш-карту (unordered_map), чтобы посчитать вхождения чисел, а затем выполнить поиск максимального количества вхождений в хэш-карте.

2

Другие решения

Я думаю, что вы можете использовать приоритетную очередь, в которой будут храниться элементы {1,1,1,1,3,4,5,5,7}
а затем манипулировать режимом из этой очереди

0

Что вы, вероятно, хотели бы сделать, это вставить цифры в std::vectorиспользовать std::sort
<algorithm>) и просмотрите его, чтобы увидеть, какое число встречается чаще всего.

Чтобы дать вам идею, вы можете использовать std::vector<int>::iterator во время цикла (используйте auto вместо этого) указать начало + 1 вектора, а затем проверить, равно ли значение, на которое указывает итератор,
iterator - 1, Если текущее значение выше чем максимальное значение затем сохраните его вместе с итератором для этого объекта.

Надеюсь, что это поможет вам в пути.

0
По вопросам рекламы [email protected]