百度
360搜索
搜狗搜索

PHP实现相邻数查找算法详细介绍

  其实这个算法很好理解,比如我们有如下的数组数字:

  $arr = array(4,5,6,5,6,7,8,9,10,9);

  他们中间都是相差某个绝对值(比如上面都是相差1)。 1、我们用要查找的数减去第一个数字(想象如果我要找7的话,减去4,最早出现应该就是第四位(数组索引是3)出现这种情况是因为如果一切顺利,所有绝对值的更改都是加1的情况下才会出现,如果中间出现减1或者什么肯定还要靠后面。)

  2、比较可能出现的位置的数是否与要查找的数一致,如果一致则直接返回(毫无疑问)。

  3、如果这个数不一致,则只能说明这个数还在这个数组的后面(这里想想就能理解,因为最快达到的方法就是现在这个索引,不可能比他更快,所以这个只能在后面了)

  4、如果循环完这个数组,这个数字还没出现只能证明数组里面没有这个数字。

  代码实现:

<?php
function FindNumberInArray($arr,$number){
$startKey = abs($number-$arr[0]);
while($startKey<count($arr)){
if($arr[$startKey]==$number){
return $startKey;
}
$startKey += abs($number - $arr[$startKey]);
}
return -1;
}

$arr = array(4,5,6,5,6,7,8,9,10,9);
echo FindNumberInArray($arr,10);
?>

阅读更多 >>>  vivo查找手机怎么开

网站数据信息

"PHP实现相邻数查找算法"浏览人数已经达到32次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:PHP实现相邻数查找算法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!