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;
        }
    }
}
相关推荐
代码游侠3 小时前
日历的各种C语言实现方法
c语言·开发语言·学习·算法
春日见7 小时前
丝滑快速拓展随机树 S-RRT(Smoothly RRT)算法核心原理与完整流程
人工智能·算法·机器学习·路径规划算法·s-rrt
Code小翊7 小时前
”回调“高级
算法·青少年编程
云里雾里!7 小时前
力扣 977. 有序数组的平方:双指针法的优雅解法
算法·leetcode·职场和发展
一只侯子9 小时前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉
jianqiang.xue10 小时前
别把 Scratch 当 “动画玩具”!图形化编程是算法思维的最佳启蒙
人工智能·算法·青少年编程·机器人·少儿编程
不许哈哈哈10 小时前
Python数据结构
数据结构·算法·排序算法
J***793911 小时前
后端在分布式系统中的数据分片
算法·哈希算法
ChoSeitaku12 小时前
线代强化NO20|矩阵的相似与相似对角化|综合运用
线性代数·机器学习·矩阵
Dream it possible!12 小时前
LeetCode 面试经典 150_二叉搜索树_二叉搜索树中第 K 小的元素(86_230_C++_中等)
c++·leetcode·面试