最佳答案
最近我参加了一个面试,他们问了我一个“ 寻找”的问题。
问题是:
假设有一个(正)整数数组,其中每个元素与其相邻的元素相比都是
+1
或-1
。例如:
array = [4,5,6,5,4,3,2,3,4,5,6,7,8];
现在搜索
7
并返回它的位置。
我的回答是:
将值存储在临时数组中,对它们进行排序,然后应用二进制搜索。
如果找到该元素,则返回其在临时数组中的位置。
(如果数字出现了两次,那么返回它的第一次出现)
但是,他们似乎并不满意这个答案。
正确答案是什么?