Skip to content

Latest commit

 

History

History
79 lines (51 loc) · 1.36 KB

File metadata and controls

79 lines (51 loc) · 1.36 KB

74. 搜索二维矩阵

相关标签

  • 数组
  • 二分查找
  • 矩阵

问题描述

  1. 搜索二维矩阵 - 给你一个满足下述两条属性的 m x n 整数矩阵:
  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

 

示例 1:

[https://assets.leetcode.com/uploads/2020/10/05/mat.jpg]

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3 输出:true

示例 2:

[https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2020/11/25/mat2.jpg]

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13 输出:false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104

题解

/**
 * @param {number[][]} matrix
 * @param {number} target
 * @return {boolean}
 */
var searchMatrix = function(matrix, target) {
    if(!matrix.length) {
        return false
    }
    let x = matrix.length -1

    let y = 0
    while(x>=0 && y <matrix[0].length) {
        const item = matrix[x][y]
        if(item === target) {
            return true
        } else if(item > target) {
            x--
        } else {
            y++
        }
    }

    return false

    
};