|
1 / 1 / 0
Регистрация: 05.08.2017
Сообщений: 15
|
||||||
Вывести те элементы, которые встречаются в массиве только один раз05.08.2017, 13:12. Показов 40345. Ответов 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
|
|||
| 09.06.2026, 13:40 | |||
|
На другом компиляторе , думаю бы сработало. Вечером проверю.
0
|
|||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||||||
| 09.06.2026, 13:57 | ||||||
|
Тороплюсь, однако, не удержался, проверил по-быстрому, на ардуиновских "плюсах":
0
|
||||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||
| 09.06.2026, 14:28 | ||
|
а в твоём - будет перезаписываться новыми значениями
0
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 09.06.2026, 17:40 | |||||||
0
|
|||||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 09.06.2026, 18:00 | |
|
Димон007,
st у тебя тут какого типа ?Но семантически это неправильно, хотя может работать
0
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 09.06.2026, 18:12 | |||||||
|
Для проверки, сразу же подкинул твой вариант,
0
|
|||||||
|
-72 / 65 / 2
Регистрация: 23.11.2024
Сообщений: 808
|
|
| 09.06.2026, 18:22 | |
|
В задаче есть индексы, значения и результат - значение повторяемое или уникальное.
Сначала нам надо вычислить результат, а затем восстановить индексы (пробежать ещё раз по массиву и глядя на значение и соответствующий ему результат не вывести или вывести). Для вычисления мы формируем дерево, куда складываем значения и результат. Дерево нам даёт log(n) на поиск значений и все прочие операции. Общая сложность n*log(n)
0
|
|
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 09.06.2026, 18:35 | ||
|
0
|
||
|
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,838
|
|
| 09.06.2026, 22:15 | |
|
0
|
|
| 09.06.2026, 22:32 | |||
|
Простейшее/наивное решение - завести таблицу счетчиков и считать значение элемента индексом в этой таблице. Работает очень быстро, но таблица может быть огромной (для больших значений), и нет решения для других, не целых типов, хотя бы флотов. Стандартная библиотека предоставляет классы для поиска по ключу (ассоциативные контейнеры). Использование std::unordered_map (это хеш) обеспечивает 4 сек на 10 млн элементах - не так уж медленно, а главное - очень легко написать. В общем, перед тем как городить свое - смотрите что уже сделали люди.
0
|
|||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 09.06.2026, 23:45 | ||
|
А если время на создание таблицы входит во время поиска(массив- то рандомный), тогда я видимо пока чего-то не понял.
0
|
||
| 10.06.2026, 00:19 | ||||||||||||
1
|
||||||||||||
|
-72 / 65 / 2
Регистрация: 23.11.2024
Сообщений: 808
|
||
| 10.06.2026, 01:36 | ||
|
если true - встретилось один раз. если false - два и более но можно написать кастомный класс, который для значений-ключей будет использовать дельта-кодирование, а для результатов будет использовать по восемь битов на байт (упакованный массив битов). Это будет тяжело, но может слегка повысить быстродействие (снизив промахи в кеш). Ещё, в качестве упражнения, можно выполнять на GPU и распараллелить. Компьютер брать с общей памятью для CPU и GPU (например ASUS ExpertCenter Pro ET900N G3 (1× GB300 Grace Blackwell Ultra) )
1
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 10.06.2026, 04:21 | |||||||
|
Вот, разобрался, и, перевёл на более понятный мне язык:
0
|
|||||||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
||
| 10.06.2026, 04:28 | ||
|
P.S.Проверить, и, сравнить с ранее выложенным примером для 100000 элементов типа uint32_t не удалось, в системе не хватило памяти - bad_alloc
Добавлено через 2 минуты
0
|
||
|
8 / 6 / 2
Регистрация: 21.02.2019
Сообщений: 110
|
|||||||
| 10.06.2026, 11:51 | |||||||
0
|
|||||||
|
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
|
|
| 10.06.2026, 12:23 | |
|
0
|
|
|
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
|
|
| 10.06.2026, 12:31 | |
|
0
|
|
|
32 / 26 / 7
Регистрация: 22.02.2019
Сообщений: 111
|
|||||||
| 10.06.2026, 12:33 | |||||||
0
|
|||||||
|
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
|
||||||
| 10.06.2026, 14:03 | ||||||
Находит первый повтор, ставит вместо него волшебное число и вылетает дальше на след. позишен. Ни чего не аккомулирует. С переду ни чего не читает. (Кто грамотный?)
0
|
||||||
| 10.06.2026, 14:03 | |
|
Вывести только те слова сообщения, которые встречаются в тексте один раз
Вывести только те слова сообщения, которые встречаются в нем ровно один раз Вывести в файл буквы исходного файла, которые встречаются только один раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|