这道题巧妙之处在于利用了右上角的数字来做对比
如果比右上角的数字大,说明最右边的一列可以不要了,如果比右上角的数字小,说明最上面的一行可以不要了。
class Solution {public:bool searchMatrix(vector<vector<int>>& matrix, int target) {if(!matrix.size() || !matrix[0].size()) return false;int r = 0, c = matrix[0].size() - 1;while(r < matrix.size() && c >= 0){if(matrix[r][c] == target) return true;else if(matrix[r][c] < target) r++;else c--;}return false;}};
