剑指offer上的原题
要点就是从右上角开始查找
如果target比该值小
说明该值往下都大于target, 故该值往下所有元素舍弃
如果target比该值大
说明该值往左的元素都小于target,故该值往左的所有元素舍弃
直到找到该值或者越界不存在。
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int n = matrix.size();
if(n == 0)
return false;
int m = matrix[0].size();
if(m == 0)
return false;
int x, y;
x = m-1;
y = 0;
while(x>=0 && y<n){
if(target == matrix[y][x] )
return true;
else if(target < matrix[y][x]){
x--;
}
else y++;
}
return false;
}
};