右上角的元素是所在行的最大值,所在列的最小值。
以右上角的元素为基准,如果目标比右上角元素大,则去掉当前行;如果小,则去掉当前列。
bool searchMatrix(vector<vector<int>>& matrix, int target) {
if(matrix.empty() || matrix[0].empty())
return false;
int col = matrix.size();
int row = matrix[0].size();
int i = 0, j = row-1;
while(i<col && j>=0){
if(target == matrix[i][j])
return true;
else if(target > matrix[i][j])
++i;
else
--j;
}
return false;
}