您的位置:首页 > 其它

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

2016-11-07 17:13 1021 查看
解答:

例如下面的二维数组就是每行、每列都是递增排序。如果在这个数组中查找数字7,则返回true,如果查找数组5,由于数组中不含有该数字,则返回false。

1  2  8  9

2  4  9  12

4  7  10  13

6  8  11  15

程序代码:

<pre name="code" class="java">public class Solution {
public static boolean Find(int [][] array,int target){
int rows=array.length;
int columns=array[0].length;
boolean found=false;
if(array !=null && rows >0 && columns >0){
int row =0;
int column=columns-1;
while(row>0){
int tempValue=array[row][column];
if(target > tempValue){
row++;
}else if(target < tempValue){
column--;

}else{
found=true;
break;
}
}
}
return found;
}
public static void main(String[] args) {
int [][] a = new int [][]{{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}};
System.out.println(Find(a,24));
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐