问题描述(原题链接)
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:
每行的元素从左到右升序排列。
每列的元素从上到下升序排列。
代码:
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
//从左下角开始搜索
int line = matrix.length;
int row = matrix[0].length;
int temp = matrix[line-1][0];
boolean res = false;
int i=line-1,j=0;
if(target==temp)
return true;
while(temp!=target){
if(temp>target){
i--;
}else{
j++;
}
if(i>=0 && j<row){
temp=matrix[i][j];
if(temp==target)
return true;
}else{
return false;
}
}
return res;
}
}