在预排序的数组中查找给定值的索引

bob*_*obo 3 php arrays algorithm binary-tree

今天,我去接受采访,面试官问我如何在预先排序的数组中找到给定值(数字)的索引,如下所示:

$preSortedArr=array(23,32,36,41,45,54);
Run Code Online (Sandbox Code Playgroud)

他还说不允许使用递归.

我认为该函数应如下所示:

function findIndexByValue($preSortedArray,$value){            
//some codes here       
}
Run Code Online (Sandbox Code Playgroud)

你认为他对我的期待是什么解决方案?

编辑:对不起,我忘了添加他最初让我写伪代码,但我说我不知道​​.然后我尝试用PHP编写它,但我认为他期待一种独立于语言的解决方案.

Ste*_*sop 5

由于他说数组是预先排序的,他可能期待二进制搜索.线性搜索(自阵列排序后可能进行优化 - 如果找到更大的值,则退出失败)当然在示例中的小数组上完全没问题.如果重要的话可能会更快.