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 分钟前
7-12 WPS JS宏 this、return用构造函数自定义类-1:对象内部函数,外部调用的写法
前端·javascript·wps·js宏·jsa
HIT_Weston12 分钟前
106、【Ubuntu】【Hugo】搭建私人博客:模糊搜索 Fuse.js(二)
linux·javascript·ubuntu
冲刺逆向16 分钟前
【js逆向案例六】创宇盾(加速乐)通杀模版
java·前端·javascript
POLITE317 分钟前
Leetcode 146. LRU 缓存 (Day 13)
算法·leetcode·缓存
我穿棉裤了17 分钟前
文字换行自动添加换行符“-”
前端·javascript·vue.js
小雨下雨的雨32 分钟前
触手可及的微观世界:基于 Flutter 的 3D 血细胞交互教学应用开发
flutter·3d·华为·矩阵·交互·harmonyos·鸿蒙系统
2501_9403152639 分钟前
【无标题】(leetcode933)最近的请求次数
java·前端·javascript
Ahtacca1 小时前
拒绝重复造轮子:利用自定义注解封装POI,实现Java通用Excel解析
java·javascript·vue·excel
入门级前端开发1 小时前
vue集成xlsl实现前端表格导入导出
前端·javascript·vue.js
踩坑记录1 小时前
leetcode hot100 160.相交链表 easy 链表双指针
leetcode