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;
        }
    }
};
相关推荐
Darkwanderor11 小时前
三分算法的简单应用
c++·算法·三分法·三分算法
2401_8319207412 小时前
分布式系统安全通信
开发语言·c++·算法
2401_8772742412 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
汉克老师12 小时前
GESP5级C++考试语法知识(八、链表(三)循环链表)
c++·约瑟夫问题·循环链表·gesp5级·gesp五级
阿贵---13 小时前
C++中的RAII技术深入
开发语言·c++·算法
PiKaMouse.13 小时前
navigation2-humble从零带读笔记第一篇:nav2_core
c++·算法·机器人
lightqjx14 小时前
【算法】二分算法
c++·算法·leetcode·二分算法·二分模板
Irissgwe15 小时前
进程间通信
linux·服务器·网络·c++·进程间通信
add45a15 小时前
C++编译期数据结构
开发语言·c++·算法
灰色小旋风15 小时前
力扣21 合并两个有序链表(C++)
c++·leetcode·链表