使用二分查找法,查找在一维数组中键值的对应键名, 例:查找 array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 数组中键值为 12 的键名-笔试面试资料

这是qklbishe.com第6735 篇笔试面试资料
提供答案分析,通过本文《使用二分查找法,查找在一维数组中键值的对应键名, 例:查找 array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 数组中键值为 12 的键名-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

使用二分查找法,查找在一维数组中键值的对应键名,

例:查找 array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 数组中键值为 12 的键名

使用二分查找法,查找在一维数组中键值的对应键名,                     例:查找 array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 数组中键值为 12 的键名 Jim先森
/**      * 二分查找法      * 使用前提是有序数组      */     public function binarySearch($value = 12, $arr = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ){         $low = 0;    //数组下限下标         $high = count($arr)-1;    //数组上限下标          // 注意凡是使用到while的时候,一定要防备无限循环的时候,注意终止循环的判断。         while($low <= $high){             //获取中间比较的中间下标(强制整形)             $middle = intval(($low + $high)/2);              if($value < $arr[$middle]){    //目标值 < 中间值 ,上限减1                 $high = $middle - 1;             }elseif ($value > $arr[$middle]){    //目标值 > 中间值 ,下限加1                 $low = $middle + 1;             }else{                 return $middle;     //目标值 = 中间值,匹配成功返回下标值             }         }          return -1;     }

今天 15:51:42 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 使用二分查找法,查找在一维数组中键值的对应键名, 例:查找 array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 数组中键值为 12 的键名-笔试面试资料

提供最优质的资源集合

立即查看 了解详情