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

总结:

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

相关推荐
Errorbot7 分钟前
F570四轴飞行器学习笔记
笔记·学习·无人机
_Kayo_13 分钟前
Node.JS 学习笔记7
笔记·学习·node.js
默大老板是在下24 分钟前
【个人成长】我和自己的博弈:在“自我约束”中重构人生系统
笔记·学习·重构·生活
有一个好名字24 分钟前
力扣-奇偶链表
算法·leetcode·链表
wxm63125 分钟前
力扣算法题(C++):1、2
java·算法·leetcode
Hello_Embed28 分钟前
RS485 双串口通信 + LCD 实时显示(DMA版)
笔记·学习·操作系统·嵌入式·freertos
im_AMBER32 分钟前
Leetcode 103 反转链表 II
数据结构·c++·笔记·学习·算法·leetcode
羊村积极分子懒羊羊33 分钟前
2024.11.9下午CSRA笔记
笔记
雾岛听风眠1 小时前
STM32HAL库学习笔记
笔记·stm32·学习
儒雅永缘1 小时前
Solidworks练习37-旋转、拉伸切、阵列
笔记·学习