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;
        }
    }
};
相关推荐
saltymilk1 天前
C++ 模板参数推导问题小记(模板类的模板构造函数)
c++·模板元编程
感哥1 天前
C++ lambda 匿名函数
c++
沐怡旸1 天前
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
c++·面试
感哥1 天前
C++ 内存管理
c++
博笙困了1 天前
AcWing学习——双指针算法
c++·算法
感哥1 天前
C++ 指针和引用
c++
感哥2 天前
C++ 多态
c++
沐怡旸2 天前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4162 天前
Javer 学 c++(十三):引用篇
c++·后端
感哥2 天前
C++ std::set
c++