Есть ли кто?

  • 6
  • Недоступна
Реализуй метод main(String[]), который выводит в консоль true, если элемент содержится в переданном массиве, иначе — false. Массив array не должен изменять расположение своих элементов. Для поиска элемента в массиве нужен бинарный поиск. Чтобы это сделать, используй статический метод Arrays.binaryS
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (165)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Fireman
Уровень 2, Russian Federation
10 августа, 13:00
Не пойму почему не проходит ? boolean asd = Arrays.binarySearch(array,element) >=0; System.out.println(asd);
Сергей
Уровень 3, Russian Federation
10 августа, 12:43
Интересная задачка, закрепить материал с предыдущими методами. 1. чтобы выполнить первое требование нужно скопировать имеющийся массив в новый массив 2. сортировать новый массив 3. в булевую переменную заносим результат true или false от бинарного поиска по новому массиву( если результат поиска больше 0 то true, если меньше то false) 4. выводим булеву переменную
Anonymous #3123908
Уровень 7, Санкт-Петербург, Russian Federation
7 августа, 16:04
в чем ошибка? все выполняет по условию int[] array1=Arrays.copyOf(array,array.length); Arrays.sort(array1); boolean e = Arrays.binarySearch(array1,element)>0; if (e){ System.out.println("true"); }else{ System.out.println("false"); }
Raizly
Уровень 7, Карелия, Russian Federation
8 августа, 12:52
Условный оператор тут лишний. Просто сделайте переменную типа boolean y = (x >= 0); Если y != условию((x >= 0), то отобразится false, иначе будет true. Для вывода просто используйте System.out.println(y);
Dok3R73
Уровень 9, Russian Federation
31 июля, 07:14
Собрал свои 6 попыток, и все комментарии в кучу, для последователей: 1. Если не отсортировать массив, не пройдет валидация 2 условия. как это связано не понятно... 2. Выводом должно быть булевое значение а не текстовое! Ну и мини решение, спойлер так скажем: решение в 4 строки, копируем, сортируем, ищем, выводим.
Valery Zabaluev
Уровень 8, Казань, Russian Federation
26 июля, 16:35
С хитростью решение ))) System.out.println(index>=0);
monkeyfli1p
Уровень 22, Москва, Russian Federation
25 июля, 11:19
Что за...? Программа выводит "true", а все равно не проходит, пишет не выполнено требование с "true", нормально все?
Anonymous #3065643
Уровень 11, Москва, Russian Federation
27 июля, 10:22
При проверке у тебя несколько разных массивов, поменяй значения в тестовом и посмотри, что выдаст запуск.
monkeyfli1p
Уровень 22, Москва, Russian Federation
28 июля, 08:23
Уже проверял, к тому же решение готово, спасибо 😀
Stanislav Kuprianov
Уровень 11, Ростов-на-Дону, Россия
21 июля, 16:23
Чем моё решение неугодно, непонятно. Всё решает, но не принимает. Заставляет писать только как в правильно решении.
int[] arr = Arrays.copyOf(array, array.length);
Arrays.sort(arr);
boolean isElement = false;
int index = Arrays.binarySearch(arr, element);
System.out.print(isElement = (index >= 0)? true : false);
Kenor
Уровень 20, Москва, Russian Federation
26 июля, 10:13
Я так понимаю что просто код избыточный, так как если убрать переменную isElement ничего не поменяется, потому что выражение в выводе на экран уже булево и выводится будет результат true или false в зависимости от значения переменной index.
Ragnar Ragnar Lodbrock
Уровень 13, Казань, Russian Federation
19 июля, 08:39
System.out.println(Arrays.binarySearch(array,element) >= 0);
worried-cell
Уровень 13, Киев
12 июля, 16:29
Почему уровень задачи хард? Вроде решение очень простое в несколько строк. Тут к тому же написано, да и догадаться не трудно)
Benjam1nBTN
Уровень 9, Бронницы, Россия
19 июля, 10:43
Для меня тоже показалась задача простой - удивился, что среднее кол-во попыток больше 4...
Mechanik
Уровень 2, Минск
20 июля, 11:12
Чего тут удивительного, если System.out.println(Arrays.binarySearch(array, element) >= 0); не засчитывается за правильный. upd. Вот же я ученик - не обратил внимание, что бинарный поиск нужно использовать для отсортированных массивов. Вопрос снят.
TooOldForThisShit
Уровень 19, Cheboksary, Russian Federation
12 июля, 06:35
1 Coздал копию с помощью copyOf(); 2 Отсортировал с помощью sort(копия); 3 Создал булеву переменную, которой присваивается результат binarySearch(копия, element) >= 0; 4 System.out.println(булева переменная); Не выполняется требование 2 (При вызове метода main(String[]) вывести в консоли true, если значение переменной element содержится в массиве.) Перебираю элементы массива вручную: если он есть в массиве, выдает true.
Mykola Bakalov
Уровень 13, Ukraine
12 июля, 11:21
Должно выполняться. Я также сделал. Можно вызвать логическое выражение в строке вывода.
Radical Ed
Уровень 12, Тверь, Russian Federation
23 июля, 21:03
возвращаемый поиском элемента индекс может быть "0", для проверки нужно использовать не >0 а >=0, сразу пропустит. Я на этом ошибся