![]() |
|
![]() ![]() ![]() |
|
Metalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 635 Регистрация: 22.10.2008 Где: Украина-ZPсity Репутация: нет Всего: нет |
Простая задачка, на которую я тем не менее не смог ответить. Есть массив интов или байтов, мы в нем удаляем какой-то элемент путем формирования нового массива без этого элемента. Массивы неотсортированы. Как имея эти 2 массива, узнать, какой элемент был удален? Естественно, без перебора, нужно наиболее эффективное/быстрое решение.
Задача общая, но если брать контекст языка, то берем java. Может есть какие-то стандартные методы, о которых я не знал. -------------------- Don't let the system get you down. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Если я верно понимаю, то исходный и конечный массивы до точки удаления идентичны, а далее равные элементы отличаются индексом на единицу. Верно? В таком случае обычный бинарный поиск. Если же в исходном массиве имеется несколько последовательных равных элементов, и один из них удалён, то нельзя точно узнать, какой именно.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Metalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 635 Регистрация: 22.10.2008 Где: Украина-ZPсity Репутация: нет Всего: нет |
Akina, спасибо, суть понял, но детали пока не очень. Например, мы берем средний индекс first + (last - first) / 2. И.. что нам дает равенство или неравенство элементов из массивов по этому индексу? Ведь мы не знаем, в какую сторону от него будет несовпадение элементов - то ли влево, то ли вправо.
-------------------- Don't let the system get you down. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
ТО есть, ты не знаешь, какой из массивов исходный, а какой результирующий? Я тебе подскажу - исходный длиннее... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Metalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 635 Регистрация: 22.10.2008 Где: Украина-ZPсity Репутация: нет Всего: нет |
Akina, это ясно. Ок. Есть source[middle] == output[middle]. Элементы равны/неравны. Что это дает? Может я неправильно выражаюсь.
-------------------- Don't let the system get you down. |
|||
|
||||
Metalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 635 Регистрация: 22.10.2008 Где: Украина-ZPсity Репутация: нет Всего: нет |
Akina, кажется дошло. Попробую реализовать
-------------------- Don't let the system get you down. |
|||
|
||||
Metalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 635 Регистрация: 22.10.2008 Где: Украина-ZPсity Репутация: нет Всего: нет |
Вдруг кому пригодится
-------------------- Don't let the system get you down. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |