21.搜索二维矩阵 II

javascript 复制代码
var searchMatrix = function (matrix, target) {
    if (!matrix || !matrix.length) return false
    while(matrix.length > 0 && matrix[0].length > 0) {
        let n = matrix[0].length - 1;
        if (target === matrix[0][n]) return true
        if (target > matrix[0][n]) {
            matrix.shift()
        } else {
            matrix[0].pop();
        }
    }
    return false
};

解题思路

如果当前行的最后一个都比target小,说明肯定不在这一行,如果找遍整行都没找到,说明不存在这个数

详细解法

1.判断第一行的最后一个数是否大于目标值,如果小于目标值,说明肯定不在这一行,直接舍弃这一行

2.如果大于目标值,说明就在这一行之中,只要一直判断最后一个数是不是即可,不是直接舍弃

3.如果整行都没有,即全部舍弃了,说明没有这个数

相关推荐
风骏时光牛马11 分钟前
AI源码分析:拆解模型底层实现逻辑
前端
IT小白杨13 分钟前
多店铺防关联指纹浏览器哪个好:从账号关联判定模型到环境隔离架构的一次拆解
经验分享·物联网·矩阵·架构·指纹浏览器
BillKu19 分钟前
全局样式变量:CSS 自定义属性(--border-color)和SCSS 变量($border-color)的说明
javascript·css·scss
IT_陈寒33 分钟前
React子组件莫名其妙重渲染?你可能漏了这个Hook
前端·人工智能·后端
(Charon)40 分钟前
【C++】定时器进阶:使用最小堆管理定时任务
c++·算法
乘风gg43 分钟前
DeepSeek V4.1 Flash 来了,明天中午 Flash 降价 60%
前端·ai编程·claude
hansang_IR1 小时前
【题解】 [省选联考 2021 A/B 卷] 卡牌游戏
c++·算法
默_笙1 小时前
❗ 给金鱼装记忆(上):从白板到笔记本,AI 的短期记忆生存指南
前端·javascript
酷酷的逗逗乐1 小时前
前端转 Agent 开发 · 第五节:Memory 会话记忆
前端·程序员
这个DBA有点耶1 小时前
COUNT慢不是因为用了*,是这5个原因——1000万行数据实测+执行计划深度解析
数据库·mysql·算法