Дан одномерный массив,вывести на экран те элементы которые больше последнего элемента массива. Организовать бинарный поиск в элементах массива.

29 Сен 2019 в 02:41
173 +1
0
Ответы
1

Пример реализации на Python:

def binary_search(arr, target):
left = 0
right = len(arr) - 1
result = -1
while left <= right:
mid = left + (right - left) // 2
if arr[mid] > target:
result = mid
right = mid - 1
else:
left = mid + 1
return result
def main():
arr = [3, 5, 2, 8, 1, 9, 4] # Пример массива
if not arr: # Если массив пустой
print("Массив пустой")
return
last_element = arr[-1]
print("Элементы массива, которые больше последнего элемента:")
for i in range(len(arr) - 1):
if arr[i] > last_element:
print(arr[i])
greater_values = []
for i in range(len(arr) - 1):
if arr[i] > last_element:
greater_values.append(arr[i])
target = last_element
greater_values.sort()
for value in greater_values:
result = binary_search(greater_values, value)
if result != -1:
print(f"Бинарный поиск: Элемент {value} находится в позиции {result}")
if __name__ == "__main__":
main()

Этот код сначала выводит элементы массива, которые больше последнего элемента. Затем он сортирует эти элементы и использует бинарный поиск для нахождения их индексов в отсортированном массиве.

19 Апр в 19:01
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир