# 搜索二维矩阵II (opens new window)
- 难度:Medium
- 标签:
# 刷题思路
- [x] 双重循环
- [ ] xx
# 方法 1 双重循环
- 复杂度:
- 时间 O(m*n)
- 空间 O(1)
- 结果:
- 执行用时:552 ms, 在所有 JavaScript 提交中击败了19.64%的用户
- 内存消耗:41.3 MB, 在所有 JavaScript 提交中击败了18.24%的用户
var searchMatrix = function(matrix, target) {
if (!matrix || !matrix.length || !matrix[0].length) return false
const [m, n] = [matrix.length, matrix[0].length]
for (let i=0; i<m; i++) {
for (let j=0; j<n; j++) {
if (matrix[i][j] === target) return true
}
}
return false
};
# 方法 2
- 复杂度:
- 时间 O()
- 空间 O()
- 结果:
- 执行用时:456 ms, 在所有 JavaScript 提交中击败了25.51%的用户
- 内存消耗:41.6 MB, 在所有 JavaScript 提交中击败了14.66%的用户
var searchMatrix = function(matrix, target) {
if (!matrix || !matrix.length || !matrix[0].length) return false
let [m, n] = [matrix.length, matrix[0].length]
for (let i=0; i<m; i++) {
let [left, right] = [0, n-1]
if (matrix[i][left] > target) break
if (matrix[i][right] < target) continue
while (left <= right) {
if (target===matrix[i][left] || target===matrix[i][right]) return true
;[left, right] = [left+1, right-1]
}
}
return false
};
JS刷题记录 Leetcode-js (opens new window) 每周都会更新刷题心得或者题解, 你的点赞或 star 都将助力我产出更好内容~