加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

[PHP] 算法-二位有序数组中查找的PHP实现

发布时间:2020-05-25 03:11:12 所属栏目:PHP 来源:互联网
导读:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。1.二维数组,行row从左到右递增,列col从上到下递增

<div class="cnblogs_code">

1.2.定左下角为比较点,比它大的位于它右边,因此col++,并且col<=arr[0].length-1
3.比左下角小的位于它的上面,因此row--,row>=0col=0<span style="color: #000000">
row=arr.length-1
<span style="color: #0000ff">while row>=0&&col<=arr[0].length-1
<span style="color: #0000ff">if <span style="color: #008080">key==<span style="color: #000000">arr[row][col]
<span style="color: #0000ff">return <span style="color: #0000ff">true
<span style="color: #0000ff">elseif <span style="color: #008080">key><span style="color: #000000">arr[row][col]
col++
<span style="color: #0000ff">else<span style="color: #000000">
row-
<span style="color: #0000ff">return <span style="color: #0000ff">false

<span style="color: #0000ff">function Find(<span style="color: #800080">$target,<span style="color: #800080">$array<span style="color: #000000">){
<span style="color: #800080">$col=0<span style="color: #000000">;
<span style="color: #800080">$row=<span style="color: #008080">count(<span style="color: #800080">$array)-1<span style="color: #000000">;
<span style="color: #0000ff">while(<span style="color: #800080">$row>=0 && <span style="color: #800080">$col<=<span style="color: #008080">count(<span style="color: #800080">$array[0])-1<span style="color: #000000">){
<span style="color: #0000ff">if(<span style="color: #800080">$target==<span style="color: #800080">$array[<span style="color: #800080">$row][<span style="color: #800080">$col<span style="color: #000000">]){
<span style="color: #0000ff">return <span style="color: #0000ff">array(<span style="color: #800080">$row,<span style="color: #800080">$col<span style="color: #000000">);
}<span style="color: #0000ff">elseif(<span style="color: #800080">$target><span style="color: #800080">$array[<span style="color: #800080">$row][<span style="color: #800080">$col<span style="color: #000000">]){
<span style="color: #800080">$col++<span style="color: #000000">;
}<span style="color: #0000ff">else<span style="color: #000000">{
<span style="color: #800080">$row--<span style="color: #000000">;
}
}
<span style="color: #0000ff">return <span style="color: #0000ff">false<span style="color: #000000">;
}
<span style="color: #008000">//<span style="color: #008000">输出行,列
<span style="color: #008080">var_dump(Find(50,<span style="color: #800080">$arr<span style="color: #000000">));
<span style="color: #008080">var_dump(<span style="color: #800080">$arr);

(20]=>41]=>9(100]=> (100]=>11]=>22]=>33]=>44]=>55]=>66]=>77]=>88]=>99]=>101]=> (100]=>111]=>122]=>133]=>144]=>155]=>166]=>177]=>188]=>199]=>202]=> (100]=>211]=>222]=>233]=>244]=>255]=>266]=>277]=>288]=>299]=>303]=> (100]=>311]=>322]=>333]=>344]=>355]=>366]=>377]=>388]=>399]=>404]=> (100]=>411]=>422]=>433]=>444]=>455]=>466]=>477]=>488]=>499]=>505]=> (100]=>511]=>522]=>533]=>544]=>555]=>566]=>577]=>588]=>599]=>606]=> (100]=>611]=>622]=>633]=>644]=>655]=>666]=>677]=>688]=>699]=>707]=> (100]=>711]=>722]=>733]=>744]=>755]=>766]=>777]=>788]=>799]=>808]=> (100]=>811]=>822]=>833]=>844]=>855]=>866]=>877]=>888]=>899]=>909]=> (100]=>911]=>922]=>933]=>944]=>955]=>966]=>977]=>988]=>999]=>100

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读