|
1 / 1 / 0
Регистрация: 05.08.2017
Сообщений: 15
|
||||||
Вывести те элементы, которые встречаются в массиве только один раз05.08.2017, 13:12. Показов 43286. Ответов 199
Метки нет (Все метки)
Привет всем. Изучаю c++, ломаю уже 1 день голову над данной задачей:
Дан массив. Выведите те его элементы, которые встречаются в массиве только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. Сделал идею такую: если элемент встречается 1 раз - то вывести его. НО, почему то, выводятся все элементы, день ломаю голову, не могу найти ошибку... код:
На вход получаю: 5 1 3 3 3 2 На выход получаю: 1 3 2 (вместо 1 2)
1
|
||||||
| 05.08.2017, 13:12 | |
|
Ответы с готовыми решениями:
199
Элементы массива, которые встречаются только один раз Удалить нечётные элементы, которые встречаются в массиве один раз |
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 06.06.2026, 00:02 | ||
|
Если сравнивать - то на одинаковых ПК.
0
|
||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|||
| 06.06.2026, 00:39 | |||
|
Эта задача может быть реальной, например в списке из 10 млн. записей найти те, которые встречаются один раз - и как вариант скинуть результат в файл. Выводить на экран ессно бессмысленно, никто и никогда не просмотрит тысячи строк (цифр) результата. Добавлено через 13 минут Я для тестирования (для учебной задачи) подобрал приблизительно средние числа.
0
|
|||
| 06.06.2026, 01:25 | |||
|
Напр std::unordered_map не делает предположений типа какие там числа, большие, маленькие или средние. И от Вас требуется общее решение, а не частное
0
|
|||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 06.06.2026, 07:35 | |
|
Ну и сколько времени займет ваше std::unordered_map на массиве размером 10 млн. чисел?
0
|
|
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|||||||||||||
| 06.06.2026, 11:26 | |||||||||||||
![]() без мапы, с разными политиками. Довольно неспешно https://www.onlinegdb.com/4H-z8tdyW Кликните здесь для просмотра всего текста
с мапой https://www.onlinegdb.com/VoLWN5ZJL Кликните здесь для просмотра всего текста
(вывод чисел на экран отключил, если вдруг понядобится - можно открыть) Добавлено через 33 минуты
0
|
|||||||||||||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 06.06.2026, 16:20 | |
|
Igor3D, а что значит - нормально?
Либо быстро и с дополнительной памятью Либо долго и без дополнительной памяти
0
|
|
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||
| 06.06.2026, 17:24 | ||
|
1
|
||
| 06.06.2026, 17:27 | |||
![]() Интересная вариация задачи: печатать все кроме тех что уже напечатаны (без дубликатов)
0
|
|||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
||
| 06.06.2026, 17:32 | ||
|
Добавлено через 1 минуту alexu_007, так это с мапой или без ? Я там два варианта приложил
0
|
||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||||||
| 06.06.2026, 20:50 | ||||||
|
С мапой.
0
|
||||||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||||||||||||
| 07.06.2026, 06:03 | ||||||||||||
|
Тема меня заинтересовала, решил написать свой пример и проверить на стареньком ПК (DDR2 2GB, Athlon 4600+).
Решил сравнить в вашим примером, но онлайн компилятор , ес-но, не потянул, решил сравнить с примером Алексей1153, добавил только элементов до 100000. Результат - 54сек. А если gen(std::random_device{}() заменить на random()(как я понял выводит максимально не повторяющиеся значения), то 164сек(!). Может быть я где-то ошибся? Если будет желание, можете проверить мой пример, я знаю, компиляторы С++ понимают, в основном, Си-шный код.
0
|
||||||||||||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 07.06.2026, 07:09 | |
|
Димон007, может, оптимизацию забыл включить ?
Вот тут твой код без изменений, с компилятором C , с оптимизацией -O3https://onlinegdb.com/zswAdpqKX за 10 секунд справляется. И это - в песочнице, а локально на компе должен ещё быстрее
1
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 07.06.2026, 07:16 | ||
|
P.S. На том же сайте проверку делал
0
|
||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|
| 07.06.2026, 07:25 | |
|
Димон007, если в рамках C оставаться, то придётся свою хеш-таблицу велосипедить
0
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||
| 07.06.2026, 07:36 | |||
|
Добавлено через 3 минуты Почему тогда твой код ещё медленней? Добавлено через 5 минут Увы, должен уходить. Отвечу уже позже.
0
|
|||
|
фрилансер
6510 / 5772 / 1135
Регистрация: 11.10.2019
Сообщений: 15,418
|
|||
| 07.06.2026, 08:49 | |||
|
То есть, нет неожиданных реаллокаций, как при заполнении хеша, однако решение не универсальное Добавлено через 51 секунду
0
|
|||
| 07.06.2026, 12:05 | ||||||||
|
Не по теме:
0
|
||||||||
|
32 / 26 / 7
Регистрация: 22.02.2019
Сообщений: 111
|
|
| 07.06.2026, 15:00 | |
|
Скорее всего для этой задачи поразрядная сортировка с подсчётом будет в разы быстрее хеш-таблицы.
0
|
|
| 07.06.2026, 15:00 | |
|
Вывести только те слова сообщения, которые встречаются в тексте один раз
Вывести только те слова сообщения, которые встречаются в нем ровно один раз Вывести в файл буквы исходного файла, которые встречаются только один раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|