C ++:
чера задали следующий вопрос:
Рассмотрим массив Java или C ++, скажемX
который отсортирован и нет двух элементов в нем одинаковы. Как лучше всего найти индекс скажемi
такой, что элемент по этому индексу такжеi
, То естьX[i] = i
.
В качестве разъяснения она также привела мне пример:
Array X : -3 -1 0 3 5 7
index : 0 1 2 3 4 5
Answer is 3 as X[3] = 3.
Лучшее, что я мог подумать, - это линейный поиск. После собеседования я много думал об этой проблеме, но не смог найти лучшего решения. Мой аргумент: элемент с обязательным свойством может быть где угодно в массиве. Так что это также может быть в самом конце массива, поэтому нам нужно проверить каждый элемент.
Я просто хотел подтвердить от сообщества, что я прав. Пожалуйста, скажите мне, что я прав :)
Спасибо