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;
        }
    }
};
相关推荐
暖焰核心41 分钟前
C++内存管理和模板初阶
开发语言·c++
Irissgwe1 小时前
c++智能指针
开发语言·c++
西梅汁1 小时前
C++ 线程间通信(一)
c++
hautcyh1 小时前
C++new和delete
c++
不会C语言的男孩1 小时前
C++ Primer Plus 第10章:对象和类
开发语言·c++
不会C语言的男孩2 小时前
C++ Primer Plus 第11章:使用类
开发语言·c++
comedate3 小时前
FMT_UNICODE 与 CUDA 编码配置专栏技术文档
c++·utf-8·nvcc
玖玥拾3 小时前
C/C++ 基础笔记(二)
c语言·c++
故事和你914 小时前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯4 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法