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;
        }
    }
}
相关推荐
李佳鹏7 小时前
96% 成功率,零标注数据:我用 PCA + Hungarian 解了这道几何题
算法
华盛AI7 小时前
AI大模型竞品Anthropic Claude Opus 4.7深度分析
人工智能·算法
05候补工程师7 小时前
【线性代数】考研复习万字长文:从“工厂模型”到矩阵变换,重构线代底层逻辑
线性代数·考研·矩阵·重构
shehuiyuelaiyuehao7 小时前
算法21,搜索插入位置
python·算法·leetcode
夏日听雨眠7 小时前
数据结构(哈希函数)
数据结构·算法·哈希算法
昵称小白7 小时前
栈与单调栈专题
开发语言·算法
心.c7 小时前
RAG文档解析 - pypdf、LlamaParse、DeepDoc、SimpleDirectoryReader到底怎么选?
python·算法·ai
AI科技星7 小时前
基于代数拓扑与等腰梯形素数对网格【乖乖数学】
人工智能·算法·决策树·机器学习·数学建模·数据挖掘·机器人
jghhh017 小时前
基于时差(TDOA)与 频差(FDOA) 的无源定位
算法
_深海凉_8 小时前
LeetCode热题100-回文链表
算法·leetcode·链表