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

总结:

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

相关推荐
2501_9418846114 分钟前
云计算与边缘计算:解锁未来计算架构的智能边界
leetcode
程序猿小白日记16 分钟前
云计算与物联网融合:推动智慧城市的未来发展
leetcode
吗~喽1 小时前
【LeetCode】滑动窗口_水果成篮_C++
c++·算法·leetcode
chenzhou__1 小时前
LinuxC语言并发程序笔记(第二十天)
linux·c语言·笔记·学习
小南家的青蛙2 小时前
LeetCode面试题 04.06 后继者
算法·leetcode·职场和发展
北顾南栀倾寒2 小时前
[杂学笔记]C++编译过程、静态链接库与动态链接库的区别、动态多态的实现机制、虚拟地址空间分布与C++内存分布、volatile的作用以及使用场景
笔记
无敌最俊朗@3 小时前
力扣hot100 - 合并两个有序链表21
算法·leetcode·链表
墨染点香3 小时前
LeetCode 刷题【168. Excel 表列名称】
算法·leetcode·职场和发展
星轨初途4 小时前
数据结构二叉树之链式结构(3)(下)
c语言·网络·数据结构·经验分享·笔记·后端
Swift社区4 小时前
LeetCode 431 - 将 N 叉树编码成二叉树
算法·leetcode·职场和发展