Недавно у меня было интервью, где они задали мне вопрос "поиска".
Вопрос был:
Предположим, что существует массив из (положительных) целых чисел, каждый из которых либо
+1
, либо-1
по сравнению с его соседними элементами.Пример:
array = [4,5,6,5,4,3,2,3,4,5,6,7,8];
Теперь найдите
7
и верните его позицию.
Я дал этот ответ:
Сохраняйте значения во временном массиве, сортируйте их, а затем примените двоичный поиск.
Если элемент найден, верните его положение во временном массиве.
(Если число происходит дважды, то верните его первое вхождение)
Но они, похоже, не были удовлетворены этим ответом.
Каков правильный ответ?