73. 矩阵置零(中)

题目

  • 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

题解:标记数组

var setZeroes = function(matrix) {
    //遍历一遍数组记下为0元素的坐标:使用两个数组记录
    //重新遍历数组,将与记录相关的(i/j相等的元素)置为0
    const m=matrix.length,n=matrix[0].length
    const row = new Array(m).fill(false)
    const col = new Array(n).fill(false)
    for(let i=0;i<m;i++){
        for(let j=0;j<n;j++){
            if(matrix[i][j]===0){
                row[i]=col[j]=true
            }
        }
    }
    for(let i=0;i<m;i++){
        for(let j=0;j<n;j++){
            if(row[i] || col[j]){
                matrix[i][j]=0
            }
        }
    }
};
posted @   Frommoon  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2023-11-05 108. 将有序数组转换为二叉搜索树
2023-11-05 102. 二叉树的层序遍历(中)
2023-11-05 DFS、BFS模板
点击右上角即可分享
微信分享提示