(算法)二维数组中查找

题目描述

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

原题来源 牛客网 题1

考虑到二维数组每一行与每一列都是递增的,对于每一行所有元素来说,拿最后一个元素与输入的值进行判断,如果小于输入值,那这一整行就不用判断了。如果大于,那需要对此行元素进行遍历查看,用 二分法 处理单行元素,提高运行效率。

上代码

public boolean Find(int target, int [][] array) {
    
    for(int i=0; i

开心运行一波,结果报错:


(算法)二维数组中查找_第1张图片

数组空没有做判断,
加个判断

if(_arr == null || 0==_arr.length) {
     return false;
}

好,立马就过了。


(算法)二维数组中查找_第2张图片

你可能感兴趣的:((算法)二维数组中查找)