当前位置: 首页 > article >正文

Rust 力扣 - 73. 矩阵置零

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

我们使用两个变量记录矩阵初始状态的第一行与第一列是否存在0

然后我们遍历矩阵(跳过第一行与第一列),如果矩阵中元素为0则将该元素映射到矩阵第一行与矩阵第一列的位置置为0

然后我们在遍历矩阵(跳过第一行与第一列),如果矩阵中元素映射到矩阵第一行为0或者矩阵第一列为0,则将该元素置为0

如果矩阵初始状态的第一行存在0,则将第一行都置为0

如果矩阵初始状态的第一列存在0,则将第一列都置为0

题解代码

impl Solution {
    pub fn set_zeroes(matrix: &mut Vec<Vec<i32>>) {
        let (m, n) = (matrix.len(), matrix[0].len());
        let (mut first_row_flag, mut first_col_flag) = (false, false);

        for i in 0..m {
            if matrix[i][0] == 0 {
                first_col_flag = true;
                break;
            }
        }

        for j in 0..n {
            if matrix[0][j] == 0 {
                first_row_flag = true;
                break;
            }
        }

        for i in 1..m {
            for j in 1..n {
                if matrix[i][j] == 0 {
                    matrix[i][0] = 0;
                    matrix[0][j] = 0;
                }
            }
        }

        for i in 1..m {
            for j in 1..n {
                if matrix[i][0] == 0 || matrix[0][j] == 0 {
                    matrix[i][j] = 0;
                }
            }
        }

        if first_row_flag {
            for j in 0..n {
                matrix[0][j] = 0;
            }
        }

        if first_col_flag {
            for i in 0..m {
                matrix[i][0] = 0;
            }
        }
    }
}

题目链接

https://leetcode.cn/problems/set-matrix-zeroes/


http://www.kler.cn/a/377430.html

相关文章:

  • uniapp h5端临时路径转file对象上传
  • MySQL查询where中包含多个in条件问题
  • Go 语言的函数调用
  • Spring框架和Spring Boot框架都使用注解来简化配置和提高开发效率,但它们之间存在一些区别
  • Redis学习:BigKey、缓存双写一致性更新策略和案例
  • Java中的System类、Runtime类、Math类、BigInteger类、BigDecimal类、Random类
  • gazebo仿真初学者可以试试这个ros小车
  • 我开源了一个短视频应用(Go+React)|DouTok2.0 项目介绍
  • Golang | Leetcode Golang题解之第528题按权重随机选择
  • springcloud整合sentinel,限流策略持久化到nacos,详细配置案例
  • RabbitMQ幂等性
  • vscode ssh连接autodl失败
  • Unity中的屏幕坐标系
  • 【华为HCIP实战课程二十六】中间到中间系统协议IS-IS配置默认路由及IS-IS数据库,网络工程师
  • 动态规划——两个数组的dp问题
  • 2024.11.3笔试记录——学习
  • 15分钟学 Go 第 29 天:流程控制 - select语句
  • 探索NetCat:网络流量监测与数据传输的利器
  • Yelp 数据集进行用户画像, 使用聚类做推荐
  • LangChain学习之路
  • 插入/归并
  • 海风里的青春:海滨学院班级回忆录开发
  • 沈阳乐晟睿浩科技有限公司抖音小店运营创新
  • 如何在忘记密码的情况下解锁 iPhone? 6 种方法分享
  • Nat Med病理AI系列|DEPLOY模型:从病理切片图像预测中枢神经系统肿瘤甲基化状态|顶刊精析·24-11-03
  • 关闭kafka在控制台打印的日志