Как может выполняться второе условие, если проверка следующая: выводить true, если элемент содержится в массиве, однако, мы эту проверку по факту не делаем, а элемент а сравниваем с числом . Где логика то??
Я пытался всячески пробегать по элементам массива и сравнивать его значения элементов с существующим элементом, как и написано в задаче, а тут такое...
Artur
23 уровень
Чувствую себя тупым.
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
14 июня 2021, 22:04
Где элемент сравнивается с числом?
0
Artur
15 июня 2021, 03:51
Условие: Вывести true, если значение переменной element содержится в массиве.
А мы делаем бинарный поиск, получаем индекс и этот индекс сравниваем с нулём. Для чего? Мне не понятно в какой момент происходит выполнение второго условия.
+1
Ksenia Volkova Java Developer в DXC Master
15 июня 2021, 04:31полезный
Вот именно - не элемент сравнивается с числом, а значение, которое вернул binarySearch, сравнивается с 0.
А что возвращает метод binarySearch, если элемента в массиве не находит?
+1
Anton Software Developer в SMIT
15 июня 2021, 04:48полезный
С нулем сравнивается для того, т.к. если в ходе бинарного поиска элемент не будет найден, то индекс будет отрицательным, соответственно вывод false. Если элемент найден, то индекс положительный - вывод true. Например, в данном случае после сортировки, у элемента 5 будет индекс 4.
+3
Artur
15 июня 2021, 04:53
Как я понял, мы делаем доп. проверку на положительность, не для конкретного индекса, а для вымышленного, которого нет в массиве?
0
Artur
15 июня 2021, 04:56
В общем, я само задание понял неверно и сосредоточился именно на том, чтобы этот полученный индекс 4 сравнить с индексом исходного массива, а не на том, что всё задание происходит именно в бинарном поисковике и отдельных сравниваний не требуется.
0
Anton Software Developer в SMIT
15 июня 2021, 05:48
Ну не совсем для вымышленного, в данном случае 5 элемент находится в ячейки с индексом 4, индекс существует. Если бы 5 элемента не было в массиве индеск был бы отрицательным.
0