Реализуйте алгоритм бинарного поиска.
Входные данные
В первой строке входных данных содержатся натуральные числа N и K (0 < N, K
< 20000). Во второй строке задаются N элементов первого массива, отсортированного по возрастанию, а в третьей строке – K элементов второго массива. Элементы обоих массивов - целые числа, каждое из которых по модулю не превосходит 109
Выходные данные
Требуется для каждого из K чисел вывести в отдельную строку "YES", если это число встречается в первом массиве, и "NO" в противном случае.
Ответы на вопрос:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int k = in.nextInt();
int[] array = new int[n];
int[] array1 = new int[n];
for (int i = 0;i < array.length;i++){
array[i] = in.nextInt();
}
for (int i = 0;i < k;i++){
array1[i] = in.nextInt();
System.out.println(binarySearch(array,array1[i]));
}
}
static String binarySearch(int[] sortedArray, int key) {
int index = -1;
int low = 0;
int high = sortedArray.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (sortedArray[mid] < key) {
low = mid + 1;
} else if (sortedArray[mid] > key) {
high = mid - 1;
} else if (sortedArray[mid] == key) {
return "YES";
}
}
return "NO";
}
}
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
анюта133515.10.2021 15:53
-
romapigula135720.02.2022 02:03
-
Катерика200409.01.2023 15:28
-
iavorskayavika01.04.2020 12:40
-
oliaborisova12303.04.2021 01:49
-
Ychenik252522.09.2022 03:18
-
slavka3019.11.2022 07:02
-
dinafait200120.06.2022 21:38
-
maksim15m1517.04.2023 01:08
-
buchsandra27.03.2023 11:46
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.