题目描述:一个二维数组,每一行从左到右递增,每一列从上到下递增.输 入一个二维数组和一个整数,判断数组中是否含有整数。
当一条路走不通的时候换中思维,也许就能行了。另外,下方代码红字标示要判断的数字。
public class Subject03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] testarray={{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}};
boolean result = new Find(testarray,7).getResult();
System.out.println(result);
}
}
class Find{
int [][] array;
int number;
public Find(int [][] array,int number) {
this.array = array;
this.number = number;
}
public boolean getResult(){
if(this.array==null){
return false;
}
int colNum = array[0].length-1;
int row = 0;
while(colNum>=0 && row<array.length){
if(array[row][colNum] == this.number)
return true;
if(array[row][colNum]>this.number){
colNum--;
}else{
row++;
}
}
return false;
}
}