Вопрос по PHP

1 23
B
На сайте с 15.12.2015
Offline
9
#21

Исключите из "прогона" результаты, которые заранее явно не удовлетворяют условиям. К примеру, если у вас начало отрезка на позиции 5, то он явно не будет полностью в подмножестве отрезков со стартовой позицией 10. Если массив отсортировать в порядке возрастания координат начала, задача сведется к прогону лишь некоторой части массива. Поиск нужного индекса делается путем рекурсивного деления массива пополам и сравнения граничного значения.

B
На сайте с 13.02.2008
Offline
262
#22

Имхо, это крайне плохая идея - при обходе элементов массива что-то делать и удалять некоторые элементы. Т.е. получается усложнение логики - сваливаются разные логические задачи в одну кучу, теряется очевидность, появляется зависимость от реализации foreach...

Я бы однозначно разбил задачу на две части:

1) очистка массива от мусора (или создание нового очищенного массива).

2) Обход очищенного массива и выполнение необходимых действий над его элементами.

Всё четко, однозначно и понятно. И дублирования здесь нет.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий