【力扣hot100题】(116)矩阵置零

比较简单,但我只想出空间复杂度O(m+n)的方法。答案空间复杂度为O(1)的方法是将第一行第一列设为标记数组,标记哪些行列需要置零,还是很巧妙的。

cpp 复制代码
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        bool row=0;
        bool column=0;
        for(int i=0;i<matrix.size();i++) if(matrix[i][0]==0) row=1;
        for(int j=0;j<matrix[0].size();j++) if(matrix[0][j]==0) column=1;
        for(int i=0;i<matrix.size();i++){
            for(int j=0;j<matrix[0].size();j++){
                if(matrix[i][j]==0){
                    matrix[i][0]=0;
                    matrix[0][j]=0;
                }
            }
        }
        for(int i=1;i<matrix.size();i++){
            if(matrix[i][0]==0){
                for(int j=0;j<matrix[0].size();j++) matrix[i][j]=0;
            }
        }
        for(int i=1;i<matrix[0].size();i++){
            if(matrix[0][i]==0){
                for(int j=0;j<matrix.size();j++) matrix[j][i]=0;
            }
        }
        if(row==1) for(int i=0;i<matrix.size();i++) matrix[i][0]=0;
        if(column==1) for(int i=0;i<matrix[0].size();i++) matrix[0][i]=0;
    }
};
相关推荐
不会就选b12 小时前
算法日常・每日刷题--<贪心>14
算法
mmmmath_314 小时前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
Navigator_Z15 小时前
LeetCode //MySQL - 1251. Average Selling Price
c语言·算法·leetcode
醇氧16 小时前
MySQL 8.0 系统表损坏与引擎转换故障排查实战
数据结构·算法
大熊背16 小时前
《Color constancy by characterization of illumination chromaticity》之色度色域最大化算法(二)
算法·白平衡·色度·色温
钓鱼的肝16 小时前
梳理(1-5)
c++·经验分享·笔记·算法·青少年编程
参.商.16 小时前
【Day 53】76. 最小覆盖子串
leetcode·golang
HZZD_HZZD16 小时前
CSDN_批发市场水电漏损归因算法LAM的原理与落地
嵌入式硬件·物联网·算法
shirsl18 小时前
算法 Day 5 树 / 二叉树 + DFS
数据结构·python·算法