Leetcode 240 Search a 2D Matrix II
太逊了
竟然不会
(1,1)最小,(n,n)最大
从左下(n,1)出发,如果当前值比x小,往右走,如果当前值比x大,往上走。由于单调性,所以一次可以抛弃一行或者一列的备选项。
O(n)
class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty() || matrix[0].empty()) return false; if(target < matrix[0][0] || target > matrix.back().back()) return false; int x = matrix.size() - 1, y = 0; while(true){ int temp = matrix[x][y]; if(temp < target) y++; else if(temp > target) x--; else return true; if(x < 0 || y >= matrix[0].size()) break; } return false; } };
来源:https://blog.csdn.net/pushup8/article/details/85200248