|
17 / 17 / 6
Регистрация: 11.11.2015
Сообщений: 146
|
||||||
Сравнение двух массивов без вложенных циклов29.11.2016, 13:20. Показов 9709. Ответов 62
Метки нет (Все метки)
Извиняюсь, что помещаю здесь этот вопрос, я сам по идее должен был догадаться, но никак не могу. Второй день гружусь, без толку
![]() Имеются два массива с числами(int), одного размера, скажем, в каждом массиве по 20 чисел, больше нуля. Например:
В данном случае это будет: array1[0] + array2[3] = 8 // 2 + 6 = 8 Стандартное решение подразумевает цикл в цикле, т.е. сложность алгоритма будет N*N, если за N мы берем размер массива. Меня попросили найти более простое решение, без вложенных циклов. Догадываюсь, что где-то в сети или в учебниках оно разжевано, но не могу найти. Всем 10х
0
|
||||||
| 29.11.2016, 13:20 | |
|
Ответы с готовыми решениями:
62
Сравнение двух массивов с удалением и дополнением Использование вложенных циклов и ветвлений при обработке массивов Обработка матриц Заполнение двумерного массива без вложенных циклов |
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|
| 15.02.2022, 23:05 | |
|
Кладем значения одного массива в hashmap (dict).
Пробегаемся по второму массиву и проверяем наличие числа в первом (number in dict). Никаких вложенных циклов. Сложность O(N). Или я неправильно понял задачу?
0
|
|
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|
| 15.02.2022, 23:50 | |
|
0
|
|
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
||
| 16.02.2022, 00:12 | ||
|
Для каждого ищем этот элемент во первом массиве за O(1). Итого O(N) Сортировать не нужно
0
|
||
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|
| 16.02.2022, 00:25 | |
|
0
|
|
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
||
| 16.02.2022, 00:48 | ||
|
Объясню еще раз, на всякий случай. Я решаю задачу поиска одинаковых значений в двух массива. Т.е. значений, которые есть и в одном, и в другом. Сравнение двух массивов без вложенных циклов 1. Складываем значения из первого массива в hash map. Это занимает время O(N). 2. Затем бежим по второму массиву и смотрим, есть ли это значение в hash map (это действие занимает O(1)). Если в hash map этот элемент есть, то мы нашли "одинаковый" элемент, содержащийся в двух массивах. Этот пункт тоже O(N) Итого: O(N), без вложенных циклов
0
|
||
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|||
| 16.02.2022, 09:35 | |||
|
P.S. Ваши посты не конструктивны. Вы не пытаетесь обсудить задачу и ее решение. По существу есть замечания? Если видите ошибки, укажите на них (в контексте задачи).
0
|
|||
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|||||||
| 16.02.2022, 10:51 | |||||||
0
|
|||||||
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
||
| 16.02.2022, 11:10 | ||
|
Добавлено через 1 минуту Вообще, это задача пересечения двух множеств. set(arr1) & set(arr2) Ее сложность O(N)
0
|
||
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|
| 16.02.2022, 11:16 | |
|
0
|
|
|
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
|
|
| 16.02.2022, 13:24 | |
|
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 17.02.2022, 02:08 | ||
|
Доступ к сету О(1). То есть, затраты времени линейно зависят от размера.
Более того, поиск в каком-нибудь 32-битном дереве на множестве инт32 тоже линейно зависит от размера. Его можно записать без циклов (через вложенные ифы). Добавлено через 3 минуты
0
|
||
| 17.02.2022, 02:08 | |
|
Вычислить сумму следующего ряда без вложенных циклов Сравнение данных в двух DataGridView с помощью циклов Круговая диаграмма без массивов и циклов Найти n-ое число Фибоначчи без массивов и циклов Перевернуть число без помощи массивов циклов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|