矩阵置零解题

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

示例 1:

复制代码
输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

复制代码
输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

解题思路

方法一:创建m*n的数据记录哪一个位置是0,空间复杂度O(m*n)

方法二:找到为0的位置,将对应的第一列/第一行的值设置为0,第一行会有问题,设置一个标记,若第一行出现0,将标记设置为true,在转化

解题

按照解题思路写代码即可,代码附上

java 复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        boolean flag = false;    //标记
        int row = matrix.length;
        int col = matrix[0].length;
        for (int i = 0; i < row; i++) {
            if (matrix[i][0] == 0) flag = true;
            for (int j = 1; j < col; j++) {
                if (matrix[i][j] == 0) {
                    matrix[i][0] = matrix[0][j] = 0;
                }
            }
        }
        //将第一列和第一行值为0的整个设置为0
        for (int i = row - 1; i >= 0; i--) {
            for (int j = col - 1; j >= 1; j--) {
                if (matrix[i][0] == 0 || matrix[0][j] == 0) {
                    matrix[i][j] = 0;
                }
            }
            if (flag) matrix[i][0] = 0;
        }
    }
}
相关推荐
covco14 小时前
星链引擎矩阵系统:多模型融合调度与统一 AI 能力中台技术实践
人工智能·矩阵·多模型融合
AI科技星1 天前
紫金山天文台与6G 超导太赫兹实验对比【乖乖数学】
人工智能·线性代数·机器学习·量子计算·agi
covco1 天前
AI 原生全域矩阵系统:智能任务调度与资源负载均衡技术实现
人工智能·矩阵·负载均衡
05候补工程师2 天前
【矩阵代数】伴随矩阵、逆矩阵与秩的逻辑关系全梳理
笔记·线性代数·考研·矩阵
covco2 天前
端云协同架构下:AI 原生矩阵系统端侧推理与离线生产技术实践
人工智能·矩阵·架构
covco2 天前
矩阵管理系统指南:拆解星链引擎的架构设计与全链路落地实践
大数据·人工智能·矩阵
covco2 天前
分布式架构实战:全平台矩阵管理系统的技术实现与性能优化
分布式·矩阵·架构
三维重建-光栅投影2 天前
线性代数之超定方程使用最小二乘求解
人工智能·线性代数
森屿~~2 天前
CMA-ES:从搜索分布自适应到协方差矩阵学习
学习·elasticsearch·矩阵
covco2 天前
全域矩阵运营系统多租户权限体系架构设计与轻量化落地实践
微服务·矩阵·权限管控