黑马程序员技术交流社区
标题:
二维数组中的查找问题?
[打印本页]
作者:
小菜_一碟
时间:
2016-11-21 00:23
标题:
二维数组中的查找问题?
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输 入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解析:
方法一(最笨的方法):
public boolean Find(int target, int [][] array) {
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
if(array[i][j]==target){
return true;
}
}
}
return false;
}
方法二(最佳方法,从数组右上角开始遍历):
public boolean Find(int target, int [][] array) {
int rowLen = array.length;
int colLen = array[0].length;
int rowNum = 0;
int colNum = colLen-1;
while(rowNum<rowLen&&colNum>=0){
if(array[rowNum][colNum]<target){
rowNum++;
}else if(array[rowNum][colNum]>target){
colNum--;
}else if(array[rowNum][colNum]==target){
return true;
}
}
return false;
}
复制代码
作者:
来到精彩世界
时间:
2016-11-21 23:58
不错,值得借鉴
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2