Здравствуйте коллеги, такая задача
есть отсортированная последовательность типа
0,1,5,6,6,6,6,6,7
нужно за логарифмическое время найти первый элемент равный либо 6 (то есть после 5 — кой) и последний (перед 7 — кой)
я попробовал реализовать так бинарно ищу последний меньший/больший если он не равен искомому ключу то возвращаю его, если но равен ключу, то запускаю снова бинарный "подпоиск" на интервале от начало/конца массива до этого элемента если "под поиск" больше не нашел ключей то возвращаю первое найденное значение иначе повторяю рекурсивно.
Но не нравиться сам реализация с под. поисками, возможно есть другие решения.