Показать сообщение отдельно
  #6 (permalink)  
Старый 16.08.2017, 13:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,232

Сообщение от Alexandroppolus
тут можно применить поиск делением пополам
Хорошая идея.
Сообщение от HJ90
а можете хотя бы в двух словах описать
Ведь у тебя массив отсортирован...

Предложу такой вариант.
- Берем элемент "посередине" массива.
- Узнаем как его "положение" корелирует с нашим отрезком. Т.е. мы ниже, выше, или внутри предполагаемого подмассива.
- Если внутри, значит идем ниже, пока есть пересечение. А потом выше, пока не кончится пересечение.
- Если ниже, делим нижнюю часть пополам и опять проверяем наше местоположение.
- Если выше, делим верхнюю часть пополам и опять проверяем наше местоположение.

Но это довольно сложный алгоритм и смысл в нем есть если массив тот реально здоровенный! А отрезок мал...
Ответить с цитированием