力扣top100 矩阵置零

开辟数组来标记元素为0的行和列,然后将对应的行和列的元素全部置为0;

cpp 复制代码
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int n = matrix.size();
        int m = matrix[0].size();
        vector<int> l(m),r(n);
        for(int i = 0;i<n;i++){
            for(int j =0;j<m;j++){
                if(matrix[i][j]==0) l[j]=r[i]=1;
            }
        }
        for(int i = 0;i<n;i++){
            for(int j =0;j<m;j++){
                if(r[i]||l[j])
                    matrix[i][j]=0;
            }      
        }
    }
};

时间复杂度:因为用了两层for循环所以是O(mn)

空间复杂度:开辟了两个数组,是O(m+n)

相关推荐
QuantumStack1 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
jndingxin1 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
Sweet锦1 小时前
零基础保姆级本地化部署文心大模型4.5开源系列
人工智能·语言模型·文心一言
写个博客1 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠1 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie988942 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
晨同学03272 小时前
opencv的颜色通道问题 & rgb & bgr
人工智能·opencv·计算机视觉
杰克尼2 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
蓝婷儿2 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
大千AI助手2 小时前
PageRank:互联网的马尔可夫链平衡态
人工智能·机器学习·贝叶斯·mc·pagerank·条件概率·马尔科夫链