Leetcode 73 矩阵置0

java 复制代码
class Solution {
    //1.用矩阵的第一行和第一列来标记该行或该列是否应该为0,但是这样的话忽视了第一行或第一列为0的情况
    //2.用标记row0和column0来标记第一行或第一列是否该为0
    public void setZeroes(int[][] matrix) {
        int n = matrix.length;
        int m = matrix[0].length;
        boolean row0 = false;
        boolean column0 = false;
        for(int i = 0; i < n; i++){
            if(matrix[i][0] == 0){
                column0 = true;
            }

        }
        for(int j = 0; j < m; j++){
            if(matrix[0][j] == 0){
                row0 = true;

            }
        }
        for(int i = 1; i < n; i++){
            for(int j = 1; j < m; j++){
                if(matrix[i][j] == 0){
                    matrix[0][j] = 0;
                    matrix[i][0] = 0;
                }
            }
        }
        for(int i = 1; i < n; i++){
            for(int j = 1; j < m; j++){
                if(matrix[i][0] == 0 || matrix[0][j] == 0) matrix[i][j] = 0;
            }
        }
        if(row0){
            for(int i = 0; i < m; i++) matrix[0][i] = 0;
        }
        if(column0){
            for(int i = 0; i < n; i++) matrix[i][0] = 0;
        }
    }
}
相关推荐
qyzm9 分钟前
Educational Codeforces Round 189 (Rated for Div. 2)
数据结构·python·算法
fox_lht10 分钟前
8.3.使用if let和let else实现简明的程序流控制
开发语言·后端·算法·rust
北顾笙98032 分钟前
day28-数据结构力扣
数据结构·算法·leetcode
米粒135 分钟前
力扣算法刷题 Day 48(单调栈)
算法·leetcode·职场和发展
我是无敌小恐龙1 小时前
Java SE 零基础入门Day03 数组核心详解(定义+内存+遍历+算法+实战案例)
java·开发语言·数据结构·人工智能·算法·aigc·动态规划
广州灵眸科技有限公司1 小时前
瑞芯微(EASY EAI)RV1126B rknn-toolkit-lite2使用方法
linux·网络·人工智能·物联网·算法
旖-旎2 小时前
深搜(二叉树剪枝)(3)
数据结构·c++·算法·力扣·剪枝·递归
流年如夢2 小时前
结构体:定义、使用与内存布局
c语言·开发语言·数据结构·c++·算法
『昊纸』℃2 小时前
C语言学习心得集合 篇1
c语言·算法·编程基础·学习心得·实践操作
Chase_______3 小时前
LeetCode 1456:定长子串中元音的最大数目
算法·leetcode