![]() |
Удаление лишних элементов массива
Помогите решить задачку:
Есть числовой массив, отсортированный по убыванию(к примеру [20...0]). В него, на случайные позиции, добавляются числа от 0 до 20. После этого из него необходимо удалить эти элементы, чтобы на выходе получился исходный массив. Сортировку использовать нельзя. Чето не могу ничего сообразить :( |
Array#splice()
|
это инструмент для удаления, задача же состоит в поиске индексов элементов для удаления
|
ну дык идем по массиву и сравниваем текущий элемент с предыдущим - если их величины противоречат сортировке, то один из них удаляем.
Повторяем этот шаг до тех пор, пока весь массив не станет "ровным". |
проверяй. типа
Код AS3:
|
Код AS3:
Добавлено через 3 минуты ну если это не буквально воспринимать, то да - смысл такой. |
Думаю более универсальным будет определить количество лишних элементов и пересоздать массив. Таким образом имеем только 2 прохода, не зависимо от количества повторов в массиве. Это при условии, что массив соответствует условиям, описанным в 1м посте.
|
| Часовой пояс GMT +4, время: 12:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.