leetcode做题笔记73矩阵置零

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

思路一:记录行列值

cpp 复制代码
void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
    int row[matrixSize],col[*matrixColSize];
    for(int i = 0;i<matrixSize;i++)row[i]=0;
    for(int i = 0;i<*matrixColSize;i++)col[i] = 0;
    for(int i = 0;i<matrixSize;i++)
    {
        for(int j = 0;j<*matrixColSize;j++)
        {
            if(matrix[i][j]==0)
            {
                row[i] = 1;
                col[j] = 1;
            }
            
        }
    }
    for(int i = 0;i<matrixSize;i++)
    {
        if(row[i]==1)
        {
           for(int j = 0;j<*matrixColSize;j++)
            {
                matrix[i][j] = 0;
                
            } 
        }
        
    }
    for(int i = 0;i<*matrixColSize;i++)
    {
        if(col[i]==1)
        {
           for(int j = 0;j<matrixSize;j++)
            {
                matrix[j][i] = 0;
                
            } 
        }
        
    }
    return matrix;


}

分析:

本题可直接将行列值记录下来,再根据行列值内数字是否为1将该行或该列的数字全部变为0

总结:

本题考察矩阵的应用,直接暴力解决即可。

相关推荐
W|J27 分钟前
ES 学习笔记
笔记·学习·elasticsearch
张人玉27 分钟前
西门子 S7 PLC 通信 WPF 应用分析笔记
笔记·c#·wpf·plc
YGGP28 分钟前
【Golang】LeetCode 21. 合并两个有序链表
leetcode·链表·golang
小袁顶风作案31 分钟前
leetcode力扣——135.分发糖果
算法·leetcode·职场和发展
@zulnger33 分钟前
python 学习笔记(循环)
笔记·python·学习
Hammer_Hans40 分钟前
DFT笔记16
笔记
我命由我1234544 分钟前
开发中的英语积累 P25:Axis、Stroke、Corner、Interceptor、Declared、Internal
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
扑火的小飞蛾1 小时前
【Ansible学习笔记01】 批量执行 shell 命令
笔记·学习·ansible
hunter14501 小时前
2026.1.4 html简单制作
java·前端·笔记·html
YGGP1 小时前
【Golang】LeetCode 19. 删除链表的倒数第 N 个节点
算法·leetcode·链表