Я решила правильно потому, что сослалась на помощь другим людям, но не поняла почему надо переменную search сравнивать с нулем (boolean b = (search>=0)) , чтоб бы понять содержится ли переменная element в массиве (второй пункт в требованиях)
public static int[] array = {9, 8, 7, 6, 5, 4, 3, 2, 1};
public static int element = 5;
public static void main(String[] args) {
int [] arraycopy = Arrays.copyOf(array, array.length);
Arrays.sort(arraycopy);
int search = Arrays.binarySearch(arraycopy, element);
boolean b = (search>=0);
System.out.print(b);
}
}
Anonymous #3079538
20 уровень
Объясните зачем сравниваем с нулем. boolean b = (search>=0);
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
LoExpert
21 февраля 2023, 16:00
У меня возник точно такой же вопрос, почитав коменты здесь все поняла, спасибо всем разъяснившим! Еще интересно было бы узнать, почему тип переменной для записи результата поиска все используют boolean? Я использовала int и все проверки задача прошла успешно. Ради интереса поменяла на boolean и проверку не прошла, пишет что не возможно привести тип boolean к типу массива int, но ведь у других в решении клонированный массив тоже типа int. Я запуталась)))
0
Орхан
28 декабря 2022, 00:05
Да как уже говорили в этой лекции уточнялось, что этот метод выдает адрес искомого числа, адреса начинаются с 0, а если это число не найдется, то выведется -1, тк такого адреса быть не может мы понимаем, что число, которое нам нужно нет в массиве.
0
Anonymous #3164081
5 декабря 2022, 14:42
Я еще задачу не решил, но смотрю чужие варианты ответа и не могу понять, зачем делать копию массива?
0
hidden #598481
5 декабря 2022, 15:39
Это условие:
> Массив array не должен изменять расположение своих элементов.
А бинарный поиск можно выполнять только на отсортированном массиве. Поэтому создаётся и сортируется копия массива.
+2
Anonymous #3164081
5 декабря 2022, 20:56
Я понял, спасибо.
0
solid
27 октября 2022, 19:10
Arrays.binarySearch() если элемент в массиве не найден, то возвращает -1.
+1
Anonymous #3079538
27 октября 2022, 19:32
спасибо, я бы не догадалась!
0
Михаил
27 октября 2022, 19:00
Arrays.binarySearch
если не найдет, то скорее всего будет отрицательное число.
+1
Anonymous #3079538
27 октября 2022, 19:32
спасибо, я бы не догадалась!
0