每日一题——LeetCode1582.二进制矩阵中的特殊位置

方法一 模拟

先把矩阵每一行和每一列中1的数量统计出来,然后遍历矩阵,元素为1的位置看他所在的行和列的1的数量是否都为1即为满足题意的点

javascript 复制代码
var numSpecial = function(mat) {
   let m = mat.length, n = mat[0].length
   let rows = new Array(m).fill(0)
   let cols = new Array(n).fill(0)
    for (let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            rows[i] += mat[i][j]
            cols[j] += mat[i][j]
        }
    }
    let res = 0
    for (let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            if (mat[i][j] === 1 && rows[i] === 1 && cols[j] === 1) {
                res++
            }
        }
    }
    return res
};

消耗时间和内存情况:

方法二 列的标记值

统计每一行1的频次,然后在第一行对应列加上这个频次,如果当前行是第一行,避免重复统计需要减1

作者:力扣官方题解

链接:leetcode.1582二进制矩阵中的特殊位置

javascript 复制代码
var numSpecial = function(mat) {
    const m = mat.length, n = mat[0].length;
    for (let i = 0; i < m; i++) {
        let cnt1 = 0;
        for (let j = 0; j < n; j++) {
            if (mat[i][j] === 1) {
                cnt1++;
            }
        }
        if (i === 0) {
            cnt1--;
        }
        if (cnt1 > 0) {
            for (let j = 0; j < n; j++) {
                if (mat[i][j] === 1) {
                    mat[0][j] += cnt1;
                }
            }
        }
    }
    let sum = 0;
    for (const num of mat[0]) {
        if (num === 1) {
            sum++;
        }
    }
    return sum;
};

消耗时间和内存情况:

相关推荐
裕晟资质规划14 小时前
武器装备科研生产单位保密资质申请方法论:条件模型与流程拆解
人工智能·算法
海兰14 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
en.en..15 小时前
C语言 标准输入 / 输出缓冲区
算法
小磊哥er15 小时前
深入解构Claude Code - 第 7 篇 · 连接外面的世界
javascript·ai编程
小磊哥er16 小时前
深入解构Claude Code - 第 6 篇 · 终端里的图形界面
javascript·ai编程
海兰16 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(一)
javascript·python·金融
吃好睡好便好17 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球17 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
可乐鸡翅yeah_17 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
可乐鸡翅yeah_17 小时前
第三方接口对接 M3U8 流媒体排坑实战,解决外部服务商流兼容难题
前端·javascript·python·django·html·m3u8·m3u8在线