Контрольная работа по теме "Бинарный поиск"
Задания
1. Напишите функцию find_min_in_rotated_sorted_array, которая принимает отсортированный, но сдвинутый массив (например, [4, 5, 6, 7, 0, 1, 2]) и возвращает минимальный элемент в этом массиве. Используйте бинарный поиск для решения задачи.
2. Напишите функцию find_peak_element, которая принимает массив чисел и возвращает индекс любого пикового элемента. Пиковый элемент — это элемент, который больше или равен своим соседям. Используйте бинарный поиск для решения задачи.
3. Напишите функцию search_insert_position, которая принимает отсортированный массив и число x, а затем возвращает индекс, куда можно вставить x, чтобы массив остался отсортированным. Если x уже есть в массиве, верните его индекс.
4. Напишите функцию find_x_in_sorted_array_with_duplicates, которая принимает отсортированный массив, который может содержать дубликаты, и возвращает индекс первого найденного x. Используйте бинарный поиск для решения задачи.
5. Напишите функцию search_in_unknown_length_array, которая принимает массив неизвестной длины и число x, а затем возвращает индекс xили -1, если элемент не найден. Используйте бинарный поиск для решения задачи.