18.矩阵同行同列全置零

1.题目描述

2.解题思路

1)边遍历边置零(错误解法,因为边置零到后面遍历到前面置零得元素)

cpp 复制代码
 void setZeroes(vector<vector<int>>& matrix) {
        int row = matrix.size();//行数
        int col = matrix[0].size();//列数
        for(int i = 0;i<=row-1;i++){//遍历每一行
           for(int j = 0;j<=col-1;j++){//遍历该行每一个元素
              if(matrix[i][j]==0){
                for(int k = 0;k<=col-1;k++){
                    matrix[i][k]= 0;
                }
                for(int m = 0;m<=row-1;m++){
                    matrix[m][j]=0;
                }
              }
           }
        }
    }

2)先标记,再统一置零

cpp 复制代码
void setZeroes(vector<vector<int>>& matrix) {
        int row = matrix.size();//行数
        int col = matrix[0].size();//列数
        vector<int> tag_row(row,0);
        vector<int> tag_col(col,0);
        //put tag做标记
        for(int i = 0;i<=row-1;i++){//遍历每一行
           for(int j = 0;j<=col-1;j++){//遍历该行每一个元素
              if(matrix[i][j]==0){
                tag_row[i] = 1;
                tag_col[j] = 1;
              }
           }
        }
        //put zero置零
        for(int i = 0;i<=row-1;i++){//遍历每一行
           for(int j = 0;j<=col-1;j++){//遍历该行每一个元素
              if(tag_row[i]==1 || tag_col[j]==1){
                matrix[i][j]=0;
              }
           }
        }
    }
相关推荐
副露のmagic2 小时前
更弱智的算法学习 day48
学习·算法
汽车仪器仪表相关领域2 小时前
双组分精准快检,汽修年检利器:MEXA-324M汽车尾气测量仪项目实战全解
大数据·人工智能·功能测试·测试工具·算法·机器学习·压力测试
赫凯2 小时前
【强化学习】第六章 Dyna-Q 算法
算法
程序员-King.2 小时前
day154—回溯—分割回文串(LeetCode-131)
算法·leetcode·深度优先·回溯
程序员-King.2 小时前
day155—回溯—组合(LeetCode-77)
算法·leetcode·回溯
DO_Community2 小时前
技术解码:Character.ai 如何实现大模型实时推理性能 2 倍提升
人工智能·算法·llm·aigc·moe·aiter
leo__5202 小时前
基于A星算法的MATLAB路径规划实现
人工智能·算法·matlab
程序员-King.2 小时前
day152—回溯—电话号码的字母组合(LeetCode-17)
算法·leetcode·深度优先·递归
wm10432 小时前
代码随想录 第六天
数据结构·算法