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

总结:

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

相关推荐
.Cnn15 分钟前
Ajax与Vue 生命周期核心笔记
前端·javascript·vue.js·笔记·ajax
恒哥的爸爸35 分钟前
GPT原理笔记
人工智能·笔记·gpt
神奇小梵44 分钟前
http详解(笔记保存)
笔记
Pentane.1 小时前
【力扣hot100】【Leetcode 15】三数之和|暴力枚举 双指针 算法笔记及打卡(14/100)
数据结构·笔记·算法·leetcode
nnsix1 小时前
C# ProcessStartInfo对象笔记
开发语言·笔记·c#
star learning white1 小时前
xm工程物理2
笔记
苦 涩2 小时前
考研408笔记之计算机网络(一)——计算机网络体系结构
笔记·计算机网络·考研408
智者知已应修善业2 小时前
【数字稳压控制DAC/TLC5615驱动】2023-5-27
c++·经验分享·笔记·算法·51单片机
koo3642 小时前
周报4.19
笔记
苦 涩3 小时前
考研408笔记之计算机网络(二)——物理层
笔记·计算机网络·考研408