Звучит, как бинарный поиск. Изначальный шаг - половина длины массива (128).
Следующий, половина от этого и так далее. Так будет максимум 8 проверок всего.
Если же надо делать обязательно +1 вторым шагом, то можно вычислить максимальное количество проверок, если первый шаг - X, а длина массива - N.
Первых проверок будет максимум - floor(N/X), вторых (с шагом +1) - X-1.
Можно примерно подсчитать в вещественных числах и попытаться минимизировать f(x) = N/X+X
.
Можно найти производную f'(x) = 1-n/x^2. Ноль у этой производной при x=sqrt(n).
Отсюда получается, что примерно sqrt(256)=16 - искомая длина. Максимальное число проверок - 32.