题目:搜索二维矩阵
题目描述
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:
每行的元素从左到右升序排列。
每列的元素从上到下升序排列。
解题思路
从右上角往下搜索,这样的话,如果这个值比target大则这一列都比target大,如果这个值比target小,则这一行都比target小
代码
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int m=matrix.size(),n=matrix[0].size();
for(int i=0,j=n-1;i<m&&j>=0;)
{
if(matrix[i][j]>target)
--j;
else if(matrix[i][j]<target)
++i;
else
return true;
}
return false;
}
};