【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;
                }
            }
        }
    }
}
相关推荐
梭七y11 分钟前
leetcode日记(106)买卖股票的最佳时机Ⅲ
算法·leetcode·职场和发展
ん贤43 分钟前
优先队列 priority_queue详解
java·数据结构·c++·算法·优先队列
蒙帕智能运维1 小时前
蒙帕视角|Transformer:AI大模型的基石(二)
算法
玉树临风ives1 小时前
2023 CSP-J 题解
c++·算法·图论·csp
砂糖はいかがですか。2 小时前
用数组模拟循环队列
数据结构·算法
Hardess-god2 小时前
RAMS数据处理程序—垂直剖面分析程序
人工智能·算法
小L~~~2 小时前
LFU(最不经常使用) 缓存算法实现
c++·算法·缓存
烟锁池塘柳02 小时前
【数学建模】熵权法
算法·数学建模
君义_noip2 小时前
信息学奥赛一本通 1831:【03NOIP提高组】神经网络 | 洛谷 P1038 [NOIP 2003 提高组] 神经网络
c++·算法·图论·信息学奥赛
平乐君3 小时前
Leetcode 刷题笔记1 图论part01
笔记·leetcode·图论