题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
题目需要考虑二维数组为空的情况,在过测试的用例的时候,有一个测试用例是16,{{}}.当前情况下,二维数组的长度为array.length=1.但是array[0].length=0
小编百度了一下,判断二维数组为空的情况,我们可以从一下几个方面考虑:
1、数组的首地址为空,也就是array==null
2、数组是否为{},也就是array.length==0
3、数字是否是{{}}.当前情况下,array.length=1.但是array[0].length==0
根据
if(array==null||array.length==0||(array.length==1&&array[0].length==0))即可判断二维数组是否为空
代码实现该编程:
public class Solution {
public boolean Find(int target, int [][] array) {
if(array[0].length==0){
return false;
}else{
int num=0;
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length;j++){
if(target==array[i][j]){
num++;
}
}
}
if(num>0){
return true;
}else{
return false;
}
}
}
}