Skip to content

Latest commit

 

History

History
26 lines (25 loc) · 717 Bytes

File metadata and controls

26 lines (25 loc) · 717 Bytes
  • 从最后一列第一个数开始查找,如果目标值比它大,则删除其所在列,如果目标值比它小,则删除其所在行,如果删除所有行列后仍未找到,则不存在目标值
class Solution {
 public:
  bool searchMatrix(vector<vector<int>>& matrix, int target) {
    if (empty(matrix) || empty(matrix[0])) {
      return false;
    }
    int m = size(matrix);
    int n = size(matrix[0]);
    int i = m - 1;  // 下边界
    int j = 0;      // 左边界
    while (i >= 0 && j <= n - 1) {
      if (matrix[i][j] == target) {
        return true;
      } else if (matrix[i][j] < target) {
        ++j;
      } else {
        --i;
      }
    }
    return false;
  }
};