leetcode73矩阵置零

思路

想到的就是需要一个数组来记录是不是这行或者这列是不是有零,然后最后再扫描一遍这个矩阵

题解

借助第0行第0列来记录这个行是不是有0,这个列是不是有0

另外,这个矩阵不大,所以可能有重复的置0应该也没事。

复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        boolean row_0 = false;
        boolean column_0 = false;
        int col = matrix[0].length; //这个是列
        int row = matrix.length; //这个是行
        for (int i = 0; i < col; i++) { //判断第一行有没有0值
            if (matrix[0][i] == 0){ //第0行第i列
                row_0 = true;
                break;
            }
        }
        for (int i = 0; i < row; i++) {//判断第一列有没有0值
            if (matrix[i][0] == 0){
                column_0 = true;
                break;
            }
        }
        for (int i = 1; i < col; i++) {
            for (int j = 1; j < row; j++) {
                if (matrix[j][i] == 0){
                   matrix[0][i] = 0; //列
                   matrix[j][0] = 0; //行
                }
            }
        }
        for (int i = 1; i < col; i++) { //列
            if (matrix[0][i] == 0){
                for (int j = 1; j < row; j++) {
                    matrix[j][i] = 0;
                }
            }
        }

        for (int i = 1; i < row; i++) { //行
            if (matrix[i][0] == 0){
                for (int j = 1; j < col; j++) {
                    matrix[i][j] = 0;
                }
            }
        }
        if (column_0 == true){ //处理第一列

            for (int i = 0; i < row; i++) {
                matrix[i][0] = 0;
            }
        }
        if (row_0 == true){ //处理第一行
            for (int i = 0; i < col; i++) { //不能处理0
                matrix[0][i] = 0;
            }
        }
    }
}
相关推荐
Zsy_0510031 分钟前
【数据结构】二叉树介绍及C语言代码实现
c语言·数据结构·算法
Ayanami_Reii1 分钟前
基础数学算法-移棋子游戏
数学·算法·游戏·博弈论·sg函数
谁刺我心3 分钟前
蓝桥杯C++常用STL
c++·算法·蓝桥杯
wubba lubba dub dub7506 分钟前
第二十七周 学习周报
学习·算法·机器学习
小白程序员成长日记9 分钟前
力扣每日一题 2025.11.30
数据结构·算法·leetcode
崎岖Qiu10 分钟前
二叉树的非递归后序遍历-双栈法
算法·二叉树·力扣·深度优先遍历·
数据与后端架构提升之路12 分钟前
自动驾驶仿真数据闭环:如何利用大数据构建“上帝视角”的虚拟矩阵?(硬核指南)
大数据·矩阵·自动驾驶
竹杖芒鞋轻胜马,夏天喜欢吃西瓜14 分钟前
哈希算法解析
算法·哈希算法
执笔论英雄22 分钟前
【RL】 ROLL中负载均衡
运维·算法·负载均衡
星辞树26 分钟前
从计数到预测:深入浅出词向量 (Word Vectors) —— Stanford CS224n 作业实战记录
算法