Бинарный поиск первого появления kJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Бинарный поиск первого появления k

Сообщение Anonymous »

У меня есть код, который ищет отсортированный массив и возвращает индекс первого появления k.
Мне интересно, можно ли написать этот код, используя < /p>

while(left

вместо < /p>

while(left

Вот полный код: < /p>

public static int searchFirstOfK(List A, int k) {
int left = 0, right = A.size() - 1, result = -1;
// A.subList(left, right + 1) is the candidate set.
while (left k) {
right = mid - 1;
} else if (A.get(mid) == k) {
result = mid;
// Nothing to the right of mid can be the first occurrence of k.
right = mid - 1;
} else { // A.get(mid) < k
left = mid + 1;
}
}
return result;
}
< /code>

Как я узнаю, когда использовать левое, меньше или равна справа, или просто использование влево меньше, чем справа.

Подробнее здесь: https://stackoverflow.com/questions/467 ... rence-of-k
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»