題目
在一個二維數(shù)組中,每一行,每一列都是遞增的,請完成一個函數(shù),判斷一個數(shù)字是否在給定二維數(shù)組中。
題解
- 我們可以將右上角置為起點
- 相等則返回
- 小于目標值則向下
- 大于目標值則向左
public boolean findNumberIn2DArray(int[][] matrix, int target) {
if(matrix==null||matrix.length==0) return false;
int row = 0;
int col = matrix[0].length-1;
while(row<matrix.length&&col>=0){
int val= matrix[row][col];
if(val==target) return true;
else if(val<target){
row++;
}else{
col--;
}
}
return false;
}
源碼: 劍指offer4J