搜索二维矩阵 II:行递增、列递增

240. 搜索二维矩阵 II

图片&文件

目录

思路

  • 不要从左上角开始,而是从右上角开始
  • 规定只能向左或向下移动
    • 如果向左移动,元素在减小
    • 如果向下移动,元素在增大
      • 图片&文件

代码

var searchMatrix = function (matrix, target) {
  let m = matrix.length,
    n = matrix[0].length;
  // 初始化在右上角
  let i = 0,
    j = n - 1;
  while (i < m && j >= 0) {
    if (matrix[i][j] === target) {
      return true;
    }
    if (matrix[i][j] < target) {
      // 需要大一点,往下移动
      i++;
    } else {
      // 需要小一点,往左移动
      j--;
    }
  }
  // while 循环中没有找到,则 target 不存在
  return false;
};

相关题目