73. 矩阵置零

73. 矩阵置零


题目链接:73. 矩阵置零

代码如下:

cpp 复制代码
//先标记所有0出现的位置,然后将其所在行列均置为0
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        vector<pair<int,int>> zeroPositions;
        //记录0的位置
        for(int i=0;i<matrix.size();i++)
        {
            for(int j=0;j<matrix[i].size();j++)
            {
                if(matrix[i][j]==0)
                    zeroPositions.push_back({i,j});
            }
        }

        //将0所在的行列置零
        for(int i=0;i<zeroPositions.size();i++)
        {
            int x=zeroPositions[i].first;
            int y=zeroPositions[i].second;

            for(int j=0;j<matrix[0].size();j++)
                matrix[x][j]=0;
            for(int j=0;j<matrix.size();j++)
                matrix[j][y]=0;
        }
    }
};
相关推荐
Darkwanderor4 分钟前
使用管道实现进程间通信 (IPC, Inter-Process Communitation)
linux·c语言·c++
乱七八糟的屋子13 分钟前
【C++数值计算】Armadillo超详细入门教程
c++·线性代数·数值计算·科学计算·矩阵运算·armadillo
Yyyyyy~17 分钟前
【C++】vector
c++·c++primer
XH华1 小时前
C++语言第四章:模板初阶
数据结构·c++·算法
我不是懒洋洋1 小时前
从零实现一个分布式流处理:Apache Flink的核心设计
c++
2401_869769591 小时前
C/C++常识
c++
j7~2 小时前
【Linux】二十六.线程篇三《Linux多线程编程:线程控制、线程ID以及进程地址空间分布、线程局部存储__thread以及clone系统调用》---详解
linux·运维·服务器·开发语言·c++·多线程编辑·线程的控制
luj_176812 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
zmzb010312 小时前
C++课后习题训练记录Day175
开发语言·c++
啦啦啦啦啦zzzz13 小时前
工具:动态类工厂和用配置文件存储属性
c++·设计模式·工具·动态工厂