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.如果整行都没有,即全部舍弃了,说明没有这个数

相关推荐
南宫萧幕25 分钟前
自控PID+MATLAB仿真+混动P0/P1/P2/P3/P4构型
算法·机器学习·matlab·simulink·控制·pid
小码哥_常1 小时前
Kotlin类型魔法:Any、Unit、Nothing 深度探秘
前端
故事和你912 小时前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
我叫黑大帅2 小时前
为什么map查找时间复杂度是O(1)?
后端·算法·面试
Web极客码2 小时前
深入了解WordPress网站访客意图
服务器·前端·wordpress
炽烈小老头2 小时前
【每天学习一点算法 2026/04/20】除自身以外数组的乘积
学习·算法
幺风2 小时前
Claude Code 源码分析 — Tool/MCP/Skill 可扩展工具系统
前端·javascript·ai编程
vjmap2 小时前
唯杰地图CAD图层加高性能特效扩展包发布
前端·gis
ZC跨境爬虫3 小时前
3D 地球卫星轨道可视化平台开发 Day7(AI异步加速+卫星系列精简+AI Agent自动评论)
前端·人工智能·3d·html·json
skilllite作者3 小时前
AI agent 的 Assistant Auto LLM Routing 规划的思考
网络·人工智能·算法·rust·openclaw·agentskills