题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
<?php /* - [BM18 二维数组中的查找](https://www.nowcoder.com/share/jump/4163484761690939063920) - 时间复杂度 O(m+n) */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param target int整型 * @param array int整型二维数组 * @return bool布尔型 */ function Find( $target , $array ) { // x*y 的二维数组 $sizeY = count($array[0]); $sizeX = count($array); if(!$array || $sizeX <= 0 || $sizeY <= 0) { return false; } // 右上角 $i = 0; $j = $sizeY - 1; // 边界判定 while($i >= 0 && $j >= 0 && $i < $sizeX && $j < $sizeY) { if($array[$i][$j] > $target) { // 向左收拢 --$j; } else if($array[$i][$j] < $target) { // 向下收拢 ++$i; } else { // bingo return true; } } return false; }#每日刷题#
#每日刷题 文章被收录于专栏
刷题都刷不好,还能当程序员吗?