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且它是这一列中最小的,则去掉这一列,直到找到为止

相关推荐
开开心心就好5 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
默_笙9 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan11 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
天若有情67313 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具
林语琛14 小时前
我写的 switch…break 被 Babel 偷偷吞了
前端·javascript·babel
Tisfy14 小时前
LeetCode 3498.字符串的反转度:一次遍历
leetcode·字符串·题解·遍历
liuchangng14 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
a1879272183114 小时前
【算法】树(二):队列与祖先——BFS 骨架三配件、短路透传与合流
算法·leetcode·二叉树··bfs·算法讲解·树遍历
我命由我1234515 小时前
CSS - CSS 媒体查询 orientation
前端·javascript·css·html·css3·html5·js
Navigator_Z18 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode