【Leetcode-73.矩阵置零】

题目:

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

示例 1:
复制代码
输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]
示例 2:
复制代码
输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]
代码实现:
复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;
        //使用两个数组分别记录每一行和每一列是否有0出现。
        boolean[] row = new boolean[m];
        boolean[] col = new boolean[n];
        for (int i = 0; i < m; i++){
            for(int j = 0; j < n; j++) {
                if(matrix[i][j] == 0){
                    row[i] = true;
                    col[j] = true;
                }
            }
        }
    
        for (int i = 0; i < m; i++) {
            for (int j = 0; j  < n; j++) {
                if (row[i] || col[j]) {
                    matrix[i][j] = 0;
                }
            }
        }
    }
}
相关推荐
阿里嘎多哈基米1 分钟前
速通Hot100-Day09——二叉树
算法·leetcode·二叉树·hot100
Frostnova丶4 分钟前
LeetCode 48 & 1886.矩阵旋转与判断
算法·leetcode·矩阵
多打代码4 分钟前
2026.3.22 回文子串
算法·leetcode·职场和发展
m0_662577977 分钟前
嵌入式C++安全编码
开发语言·c++·算法
2301_8101609510 分钟前
代码生成器优化策略
开发语言·c++·算法
HUTAC16 分钟前
关于进制转换及其应用的算法题总结
数据结构·c++·算法
im_AMBER19 分钟前
Leetcode 144 位1的个数 | 只出现一次的数字
学习·算法·leetcode
暮冬-  Gentle°23 分钟前
C++中的工厂模式实战
开发语言·c++·算法
Lisssaa24 分钟前
打卡第二十二天
c++·算法·图论
pu_taoc25 分钟前
理解 lock_guard, unique_lock 与 shared_lock 的设计哲学与应用场景
开发语言·c++·算法