Бинарный поиск несортированный массив
Надеюсь, кто-то знает ответ на этот вопрос Java-сертификации:
public static void main(String[] args) {
String[] sa = {"d", "c", "a", "b" };
int x = Arrays.binarySearch(sa, "b");
Arrays.sort(sa);
int y = Arrays.binarySearch(sa, "b");
System.out.println(x + " " + y);
}
Какие два результата возможны? (Выберите два.)
А) 7 0
Б) 7 1
В) 7 3
Д) -1 0
Е) -1 1
F) -1 3
Единственный верный ответ - E) -1 1, потому что, если вы играете через алгоритм двоичного поиска, это единственно возможный выход. Но они хотят, чтобы я выбрал два ...
Таким образом, второй должен быть B) 7 1 тогда, потому что второй двоичный поиск в отсортированном массиве всегда будет возвращать1
.
Итак, мой вопрос, почему B) 7 1 возможный результат? Более конкретно: как это возможно, что первый двоичный поиск в несортированном массиве возвращает 7?
заранее спасибо