【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;
                }
            }
        }
    }
}
相关推荐
leaves falling14 小时前
冒泡排序(基础版+通用版)
数据结构·算法·排序算法
老鼠只爱大米14 小时前
LeetCode算法题详解 56:合并区间
leetcode·并查集·合并区间·区间合并·线性扫描·算法面试
C雨后彩虹15 小时前
无向图染色
java·数据结构·算法·华为·面试
坚持就完事了15 小时前
扫描线算法
算法
鱼跃鹰飞15 小时前
Leetcode尊享面试100题:252. 会议室
算法·leetcode·面试
程序员-King.15 小时前
二分查找——算法总结与教学指南
数据结构·算法
Zevalin爱灰灰15 小时前
现代控制理论——第三章 线性控制系统的能控性和能观性
线性代数·算法·现代控制
kklovecode15 小时前
C语言之头文件,宏和条件编译
c语言·开发语言·算法
Xの哲學15 小时前
Linux自旋锁深度解析: 从设计思想到实战应用
linux·服务器·网络·数据结构·算法
晚风吹长发15 小时前
深入理解Linux中用户缓冲区,文件系统及inode
linux·运维·算法·链接·缓冲区·inode