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

标签 php algorithm arrays binary-tree

今天去面试,面试官问我如何在这样的预排序数组中找到给定值(数字)的索引:

$preSortedArr=array(23,32,36,41,45,54);

他还说不允许使用递归。

我认为函数应该是这样的:

function findIndexByValue($preSortedArray,$value){            
//some codes here       
}

您认为他希望我提供什么解决方案?

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

最佳答案

既然他说数组是预先排序的,他可能期待二分查找。线性搜索(由于数组已排序 - 可能会进行优化 - 如果找到更大的值则失败退出)在示例中的小数组上当然是完美的。如果重要的话,可能会更快。

关于php - 在预排序数组中查找给定值的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2454499/

相关文章:

algorithm - 如果某些对象彼此不兼容,如何分组和合并对象?

arrays - 找到具有给定总和的 K 个元素的子序列

java - 如何正确使用 Java 泛型来实现 ADT 的数组

php - CRON 命令每 5 分钟运行一次 URL 地址

algorithm - 最小化动态 'metric' 的生成树

javascript - 找到对象的几何中心并旋转它以最大化边界框高度

c - 填充数组中缺失的数字

php - Mysql自增问题

php - 如何使用别名从两个表中获取计数值

php - 同一页面上的 2 个不同模态会引发错误