![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2010
Сообщений: 30
|
Помогите решить задачку:
Есть числовой массив, отсортированный по убыванию(к примеру [20...0]). В него, на случайные позиции, добавляются числа от 0 до 20. После этого из него необходимо удалить эти элементы, чтобы на выходе получился исходный массив. Сортировку использовать нельзя. Чето не могу ничего сообразить ![]() |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Array#splice()
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 30
|
это инструмент для удаления, задача же состоит в поиске индексов элементов для удаления
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
ну дык идем по массиву и сравниваем текущий элемент с предыдущим - если их величины противоречат сортировке, то один из них удаляем.
Повторяем этот шаг до тех пор, пока весь массив не станет "ровным".
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
in4core, ты сегодня многое сделал, отдохни.
Добавлено через 3 минуты ну если это не буквально воспринимать, то да - смысл такой.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Думаю более универсальным будет определить количество лишних элементов и пересоздать массив. Таким образом имеем только 2 прохода, не зависимо от количества повторов в массиве. Это при условии, что массив соответствует условиям, описанным в 1м посте.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|