Встречается на собеседованиях • сегодня
Какие знаешь алгоритмы бинарного поиска
Бинарный поиск — алгоритм поиска элемента в отсортированном массиве, работающий за O(log n). Основные варианты:
- Классический бинарный поиск — находит точное совпадение:
java
int binarySearch(int[] arr, int target) {
int left = 0, right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) return mid;
if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}- Поиск первого вхождения (левая граница):
java
int leftBound(int[] arr, int target) {
int left = 0, right = arr.length;
while (left < right) {
int mid = left + (right - left) / 2;
if (arr[mid] < target) left = mid + 1;
else right = mid;
}
return left;
}- Поиск последнего вхождения (правая граница):
java
int rightBound(int[] arr, int target) {
int left = 0, right = arr.length;
while (left < right) {
int mid = left + (right - left) / 2;
if (arr[mid] > target) right = mid;
else left = mid + 1;
}
return left - 1;
}Также существуют модификации для поиска в бесконечных массивах, вращающихся массивах и т.д.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы