二维数组中的查找-leetcode

1. 地址:

https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/

2. 思路:

沿着蓝色的路线行走,形成一个排序二叉树,机智啊

3. 代码:

class Solution {

    /**
     * @param Integer[][] $matrix
     * @param Integer $target
     * @return Boolean
     */
    function findNumberIn2DArray($matrix, $target) {
        if (empty($matrix)) {
            return false;
        }
        if ($target < $matrix[0][0] || $target > $matrix[count($matrix)-1][count($matrix[0])-1]) {
            return false;
        }
        $row = 0;
        $column = count($matrix[0]) - 1;

        while ($row < count($matrix) && $column >= 0) {
            // echo $row.'--';
            // echo $column.'--'.PHP_EOL;
            if ($matrix[$row][$column] == $target) {
                return true;
            } elseif ($matrix[$row][$column] < $target) {
                $row++;
            } else {
                $column--;
            }
        }

        return false;
    }
}
posted @ 2020-05-31 14:51  吴丹阳-V  阅读(205)  评论(0编辑  收藏  举报