力扣刷题--73. 矩阵置零【中等】

题目描述

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

算法分析

标签:标记数组

额外定义一个标记二维数组,用于存储matrix0存储的位置在哪里,如果是matrix的某个坐标是0,那么在标记数组相对应的地方把数字置为1,最后根据标记数组,把相应的行列置成0即可。

完整代码

cpp 复制代码
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        //额外创建一个二维数组,用于存储0的位置信息
        int m=matrix.size();//行
        int n=matrix[0].size();//列
        vector<vector<int>>flg(m,vector<int>(n,0));
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(matrix[i][j]==0)
                    flg[i][j]=1;//有1的地方代表有0    
            }
        }
        for(int i=0;i<m;i++)    
        {
            for(int j=0;j<n;j++)    
            {
                if(flg[i][j]==1)    
                {
                    for(int p=0;p<n;p++)    
                        matrix[i][p]=0;    
                    for(int q=0;q<m;q++)    
                        matrix[q][j]=0;    
                }
            }
        }
    }
};
相关推荐
H_BB4 分钟前
第17届蓝桥杯备战历程
c++·算法·职场和发展·蓝桥杯
anew___21 分钟前
算法分析与设计课程全算法核心概述|期末复习+知识梳理
算法
daad77722 分钟前
记录一次上下文切换次数的统计
服务器·c++·算法
fliter22 分钟前
Cloudflare 推出 Flagship:为 AI 时代重新设计的功能开关服务
后端·算法
生成论实验室29 分钟前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》第十七章 科学与人心的重聚
人工智能·算法·架构·知识图谱·创业创新
chao18984435 分钟前
局部保局投影(LPP)算法实现
算法
ShoreKiten1 小时前
cpp考前急救
数据结构·c++·算法
纪伊路上盛名在1 小时前
机器学习中常见的距离度量函数 Distance metrics
人工智能·算法·机器学习·数据分析·统计
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.05.07 题目:3660. 找到所有可以到达的最大值
笔记·算法·leetcode
经济元宇宙1 小时前
哪款工业仿真软件上手简单?企业常用款推荐
人工智能·算法