每日一题——LeetCode1351.统计有序矩阵中的负数

方法一 暴力枚举:

javascript 复制代码
var countNegatives = function(grid) {
    let count=0
    for(let arr of grid){
        for(let num of arr){
            if(num<0){
                count++
            }
        }
    }
    return count
};

消耗时间和内存情况:

方法二 二分法:

javascript 复制代码
var countNegatives = function(grid) {
    const m = grid.length;  
    const n = grid[0].length;  
    let count = 0;  
    for (let i = 0; i < m; i++){
        let row = grid[i];  
        let left = 0;
        let right = n - 1;
        while(left <= right){
            let mid = Math.floor(left + (right - left) / 2);
            if (row[mid] < 0){  
                right = mid - 1;
            }else if (row[mid] > 0){  
                left = mid + 1;
            }else if (row[mid] === 0){
                left = mid + 1;
            }
        }
        count += n - left;
    }
    return count;
};

消耗时间和内存情况:

方法三 双指针

javascript 复制代码
var countNegatives = function(grid) {
    let row = 0;
    let col = grid[0].length - 1;
    let num = 0;
    while(row < grid.length && col >=0){
        if(grid[row][col] < 0){
            num = num + (grid.length - row);
            col = col - 1;
        }else{
            row = row + 1;
        }
    }
    return num;
};

消耗时间和内存情况:

相关推荐
前端Hardy2 小时前
字节/腾讯内部流出!Claude Code 2026王炸玩法!效率暴涨10倍
前端·javascript·vue.js
Yzzz-F2 小时前
2025 ICPC武汉邀请赛 G [根号分治 容斥原理+DP]
算法
abant22 小时前
leetcode 114 二叉树变链表
算法·leetcode·链表
tankeven2 小时前
HJ165 小红的优惠券
c++·算法
前端Hardy2 小时前
大厂都在偷偷用的 Cursor Rules 封装!告别重复 Prompt,AI 编程效率翻倍
前端·javascript·面试
kyriewen2 小时前
Vite:比Webpack快100倍的“闪电侠”,原理竟然这么简单?
前端·javascript·vite
竹林8182 小时前
RainbowKit快速集成多链钱包连接:从“连不上”到丝滑切换的踩坑实录
前端·javascript
先积累问题,再逐次解决2 小时前
快速幂优美算法
算法
前端Hardy3 小时前
Cursor Rules 完全指南(2026 最新版)
前端·javascript·面试