

js
/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function (matrix, target) {
const n = matrix.length
for (let i = 0; i < n; i++) {
for (let j = matrix[0].length - 1; j > -1; j--) {
if (matrix[i][j] < target) {
break
} else if (matrix[i][j] > target) {
continue
} else {
return true
}
}
}
return false
}
js
var searchMatrix = function (matrix, target) {
const 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
} else if (matrix[i][j] < target) {
// 排除这行
i++
} else {
//matrix[i][j] < target 排除这列
j--
}
}
return false
}这个解法性能更好