力扣热题100道之73矩阵置零

解法

先遍历一遍所有的数组,定义一个行记录数组,和一个列记录数组,如果一个元素为0,将他的行和列数组对应的值变为1,再遍历数组,将行和列数组中为1的地方变为0。

题解中优化的解法:

1:将第一列和第一行作为标记的行和列,再定义两个变量分别标记第一行和第一列原来是否有0的标记

2:只记录第一列的,第一列的第一个元素可以记录第一行中是否有0。这种方法感觉纯纯没事找事,差这一点空间吗?差这一个变量的空间吗?

复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        int ml=matrix.length;
        int nl=matrix[0].length;
        int[]row=new int[ml];
        int[]colnum=new int[nl];
        for(int i=0;i<ml;i++){
            for(int j=0;j<nl;j++){
                if(matrix[i][j]==0){
                    row[i]=1;
                    colnum[j]=1;
                }
            }
        }
        for(int i=0;i<ml;i++){
            for(int j=0;j<nl;j++){
                if(row[i]==1){
                    matrix[i][j]=0;
                }
                if(colnum[j]==1){
                    matrix[i][j]=0;
                }
            }
        }
    }
}
历史解法

这道题有点简单,并且题解的做法也还好,不难想到,一下子就做出来了。

相关推荐
2401_831824961 小时前
基于C++的区块链实现
开发语言·c++·算法
We་ct1 小时前
LeetCode 918. 环形子数组的最大和:两种解法详解
前端·数据结构·算法·leetcode·typescript·动态规划·取反
愣头不青1 小时前
238.除了自身以外数组的乘积
数据结构·算法
人工智能AI酱1 小时前
【AI深究】逻辑回归(Logistic Regression)全网最详细全流程详解与案例(附大量Python代码演示)| 数学原理、案例流程、代码演示及结果解读 | 决策边界、正则化、优缺点及工程建议
人工智能·python·算法·机器学习·ai·逻辑回归·正则化
WangLanguager2 小时前
逻辑回归(Logistic Regression)的详细介绍及Python代码示例
python·算法·逻辑回归
m0_518019482 小时前
C++与机器学习框架
开发语言·c++·算法
一段佳话^cyx2 小时前
详解逻辑回归(Logistic Regression):原理、推导、实现与实战
大数据·算法·机器学习·逻辑回归
qq_417695052 小时前
C++中的代理模式高级应用
开发语言·c++·算法
xiaoye-duck2 小时前
《算法题讲解指南:动态规划算法--路径问题》--5.不同路径,6.不同路径II
c++·算法·动态规划
ambition202422 小时前
最大子数组和算法全解析:从暴力枚举到动态规划优化
数据结构·c++·算法