搜索二维矩阵
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:
每行中的整数从左到右按升序排列。
每行的第一个整数大于前一行的最后一个整数。
示例 1:
输入:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true
示例 2:
输入:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false
提示:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 100
-104 <= matrix[i][j], target <= 104
从右上角开始(也可以从左下角开始)利用二维矩阵的有序性
bool searchMatrix(vector<vector<int>>& matrix,int target){
int rowsz=matrix.size();
int colsz=matrix[0].size();
int row=0;int col=colsz-1;
while(row<rowsz && col>=0){
if(matrix[row][col]==target) return true;
if(matrix[row][col]>target) col--;
else if(matrix[row][col]<target) row++;
}
return false;
}