【LeetCode热题100(62/100)】搜索二维矩阵

题目地址: 链接

思路: 双重二分(横轴和纵轴)

js 复制代码
/**
 * @param {number[][]} matrix
 * @param {number} target
 * @return {boolean}
 */
var searchMatrix = function(matrix, target) {
    let [n, m] = [matrix.length, matrix[0].length];
    
    let [l1, r1] = [0, n];
    while(l1 < r1) {
        let mid = (l1 + r1) >> 1;
        if( matrix[mid][m - 1] >= target ) r1 = mid;
        else l1 = mid + 1;
    }
    if(l1 >= n) return false;
    
    let [l2, r2] = [0, m];
    while(l2 < r2) {
        let mid = (l2 + r2) >> 1;
        console.log(l1, mid);
        if(matrix[l1][mid] >= target) r2 = mid;
        else l2 = mid + 1;
    }

    return matrix[l1][l2] == target ? true : false;
};
相关推荐
血小板要健康12 小时前
网格 dfs 与 FloodFill:从岛屿、区域到搜索路径
笔记·算法·leetcode·深度优先
VALENIAN瓦伦尼安教学设备13 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法
小小晓.13 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法
怕浪猫13 小时前
用了两年 AI 编程工具后,我重新理解了什么是「资深工程师」
算法·面试·架构
hetao173383713 小时前
2026-08-27~29 hetao1733837 的刷题记录
c++·算法
云淡风轻~窗明几净14 小时前
宇宙管理学猜想
算法·图论
春风解人意14 小时前
从零开始学习嵌入式P28----线程
c语言·学习·算法
luj_176814 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
Bruce_Liuxiaowei15 小时前
驴滑块拼图游戏:从19世纪的纸片谜题到数学博弈论
人工智能·算法
一直C15 小时前
Linux系统编程|信号进阶 + SystemV IPC(消息队列、共享内存)
linux·c语言·开发语言·算法·青少年编程·vim