这好像是剑指offer上的原题。就是从左上角开始剪枝。注意在行数变化的时候要跳出循环。
public boolean searchMatrix(int[][] matrix, int target) {
boolean found=false;
if(matrix==null||matrix.length==0){
return found;
}
int m=matrix.length;
int n=matrix[0].length;
for(int i=0;i<m;){
for(int j=n-1;j>=0;){
int temp=matrix[i][j];
if(target>temp){
break;
}else if(target<temp){
j--;
}else if(target==temp){
found=true;
break;
}
}
i++;
}
return found;
}