zoukankan      html  css  js  c++  java
  • [PHP] 算法-二位有序数组中查找的PHP实现

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
    1.二维数组,行row从左到右递增,列col从上到下递增
    2.定左下角为比较点,比它大的位于它右边,因此col++,并且col<=arr[0].length-1
    3.比左下角小的位于它的上面,因此row--,row>=0
    
    col=0
    row=arr.length-1
    while row>=0&&col<=arr[0].length-1
        if key==arr[row][col]
            return true
        elseif key>arr[row][col]
            col++
        else
            row-
    return false
    <?php
    //构造一个从上到下,从左到右递增的数组
    $arr=array();
    $flag=0;
    for($i=0;$i<10;$i++){
            $flag=$i*10;
            for($j=0;$j<10;$j++){
                    $flag++;
                    $arr[$i][]=$flag;
            }   
    }
    //生成了一个1到100的二维数组
    
    function Find($target, $array){
            $col=0;
            $row=count($array)-1;
            while($row>=0 && $col<=count($array[0])-1){
                    if($target==$array[$row][$col]){
                            return array($row,$col);
                    }elseif($target>$array[$row][$col]){
                            $col++;
                    }else{
                            $row--;
                    }   
            }   
            return false;
    }
    //输出行,列
    var_dump(Find(50,$arr));
    var_dump($arr);
    array(2) {
      [0]=>
      int(4)
      [1]=>
      int(9)
    }
    array(10) {
      [0]=>
      array(10) {
        [0]=>
        int(1)
        [1]=>
        int(2)
        [2]=>
        int(3)
        [3]=>
        int(4)
        [4]=>
        int(5)
        [5]=>
        int(6)
        [6]=>
        int(7)
        [7]=>
        int(8)
        [8]=>
        int(9)
        [9]=>
        int(10)
      }
      [1]=>
      array(10) {
        [0]=>
        int(11)
        [1]=>
        int(12)
        [2]=>
        int(13)
        [3]=>
        int(14)
        [4]=>
        int(15)
        [5]=>
        int(16)
        [6]=>
        int(17)
        [7]=>
        int(18)
        [8]=>
        int(19)
        [9]=>
        int(20)
      }
      [2]=>
      array(10) {
        [0]=>
        int(21)
        [1]=>
        int(22)
        [2]=>
        int(23)
        [3]=>
        int(24)
        [4]=>
        int(25)
        [5]=>
        int(26)
        [6]=>
        int(27)
        [7]=>
        int(28)
        [8]=>
        int(29)
        [9]=>
        int(30)
      }
      [3]=>
      array(10) {
        [0]=>
        int(31)
        [1]=>
        int(32)
        [2]=>
        int(33)
        [3]=>
        int(34)
        [4]=>
        int(35)
        [5]=>
        int(36)
        [6]=>
        int(37)
        [7]=>
        int(38)
        [8]=>
        int(39)
        [9]=>
        int(40)
      }
      [4]=>
      array(10) {
        [0]=>
        int(41)
        [1]=>
        int(42)
        [2]=>
        int(43)
        [3]=>
        int(44)
        [4]=>
        int(45)
        [5]=>
        int(46)
        [6]=>
        int(47)
        [7]=>
        int(48)
        [8]=>
        int(49)
        [9]=>
        int(50)
      }
      [5]=>
      array(10) {
        [0]=>
        int(51)
        [1]=>
        int(52)
        [2]=>
        int(53)
        [3]=>
        int(54)
        [4]=>
        int(55)
        [5]=>
        int(56)
        [6]=>
        int(57)
        [7]=>
        int(58)
        [8]=>
        int(59)
        [9]=>
        int(60)
      }
      [6]=>
      array(10) {
        [0]=>
        int(61)
        [1]=>
        int(62)
        [2]=>
        int(63)
        [3]=>
        int(64)
        [4]=>
        int(65)
        [5]=>
        int(66)
        [6]=>
        int(67)
        [7]=>
        int(68)
        [8]=>
        int(69)
        [9]=>
        int(70)
      }
      [7]=>
      array(10) {
        [0]=>
        int(71)
        [1]=>
        int(72)
        [2]=>
        int(73)
        [3]=>
        int(74)
        [4]=>
        int(75)
        [5]=>
        int(76)
        [6]=>
        int(77)
        [7]=>
        int(78)
        [8]=>
        int(79)
        [9]=>
        int(80)
      }
      [8]=>
      array(10) {
        [0]=>
        int(81)
        [1]=>
        int(82)
        [2]=>
        int(83)
        [3]=>
        int(84)
        [4]=>
        int(85)
        [5]=>
        int(86)
        [6]=>
        int(87)
        [7]=>
        int(88)
        [8]=>
        int(89)
        [9]=>
        int(90)
      }
      [9]=>
      array(10) {
        [0]=>
        int(91)
        [1]=>
        int(92)
        [2]=>
        int(93)
        [3]=>
        int(94)
        [4]=>
        int(95)
        [5]=>
        int(96)
        [6]=>
        int(97)
        [7]=>
        int(98)
        [8]=>
        int(99)
        [9]=>
        int(100)
      }
    }
  • 相关阅读:
    《Linux权威指南》阅读笔记(3)
    adb命令篇 (转载)
    3.抓包神器Fiddler简介(转载)
    python-文件基本操作(一) (转载)
    python+requests实现接口测试
    python+requests实现接口测试
    12306登录爬虫 cookies版本
    爬虫3 requests之json 把json数据转化为字典
    爬虫3 requests基础之下载图片用content(二进制内容)
    爬虫3 requests基础之 乱码编码问题
  • 原文地址:https://www.cnblogs.com/taoshihan/p/9648434.html
Copyright © 2011-2022 走看看