美文网首页
二维数组查找

二维数组查找

作者: CaptainRoy | 来源:发表于2018-07-25 19:02 被阅读44次
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
  • 如下数组中是否存在 6
$target = [
    [1, 2, 8, 9],
    [2, 4, 9, 12],
    [4, 7, 10, 13],
    [6, 8, 11, 15]
];

思路 : 先从右上角开始比较, 如果目标小于数组的值列数减一,如果大于行数加一
参考

function arrayExitValue($arr, $value)
{
    $rowNum = count($arr); // 行
    $colNum = count($arr[0]); // 列

    $row = 0;
    $col = $colNum - 1;

    while ($row < $rowNum && $col >= 0) {
        echo $row . ' - ' . $col . PHP_EOL;
        if ($value < $arr[$row][$col]) {
            $col--;
        }
        if ($value > $arr[$row][$col]) {
            $row++;
        }
        if ($value == $arr[$row][$col]) {
            return [$row, $col];
        }
    }
    return false;
}

相关文章

  • 算法题

    行列都是有序的二维数组,查找k是否存在【查找法】 二维数组中的查找(行列分别有序数组的二分查找)【递归法】 快速排...

  • 剑指Offer二维数组查找

    剑指Offer二维数组查找 二维数组查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到...

  • 剑指offer4.二维数组中的查找

    题目 题目分析 算法-二维数组中的查找 比如一个二维数组是这样: 要查找数组7在不在数组内,根据前人总结出来的规律...

  • OC各种算法,排序,查找实现

    二维数组查找数字的OC实现 OC 二分查找的实现 快速排序

  • 2019-08-07 B1004 成绩排名

    这道题用之前的二维数组的思路是不对的,因为这道题并不是对二维数组进行查找操作而是需要对二维数组进行遍历操作,因此我...

  • 《剑指offer》(一)-二维数组中的查找(java)

    数组--二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序...

  • 二维数组中的查找(Javascript编程) function Find(target, array){ // w...

  • 刷题-数组专项

    数组 二维数组中的查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每...

  • 牛客网高频算法题系列-BM18-二维数组中的查找

    牛客网高频算法题系列-BM18-二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),...

  • 二维数组查找

    剑指offer中一个题目,用递归实现

网友评论

      本文标题:二维数组查找

      本文链接:https://www.haomeiwen.com/subject/opjmmftx.html