Leetcode 240. 搜索二维矩阵 II JavaScript (Day 9)

js一刷暴力

javascript 复制代码
var searchMatrix = function(matrix, target) {
    for(let i=0;i<matrix.length;i++){
        if(matrix[i][matrix[0].length-1]<target) continue;
            let left=0,right=matrix[0].length-1;
            let mid= Math.floor((left + right) / 2);

            while(left<=right){
                if(matrix[i][mid]===target) return true;
                if(matrix[i][mid]>target){
                    right=mid-1;
                    mid = Math.floor((left + right) / 2);

                }else if( matrix[i][mid]<target){
                    left=mid+1;
                    mid= Math.floor((left + right) / 2);

                }
            }
        
    }
    return false;
};

js一刷 优化

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


};

其中第二种方法的算法核心:
只关注矩阵的右上角,如果它小于target,且它的一行中最大的,则去掉这一行,若大于target且它是这一列中最小的,则去掉这一列,直到找到为止

相关推荐
之歆4 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
Maimai108085 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong5 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
2601_957787585 小时前
矩阵运营的技术底座:为什么“一体化系统“正在取代“工具拼装“
人工智能·矩阵·矩阵运营
AI科技星7 小时前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi
失去的青春---夕阳下的奔跑8 小时前
560. 和为 K 的子数组
数据结构·算法·leetcode
卡卡军8 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
Larcher8 小时前
🔥 告别抓瞎:用 Claude Code (cc) 优雅接手与维护已有项目
javascript·机器学习·前端框架
JYeontu8 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css
亲亲小宝宝鸭8 小时前
如何监听DOM尺寸的变化?element-resize-detector 和 resizeObserver
前端·javascript