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

【leetcode刷题日记】lc.73-矩阵置零

目录

1.题目

2.代码


1.题目

给定一个 m x n 的矩阵,如果一个元素为 ,则将其所在行和列的所有元素都设为 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 == matrix.length
    • n == matrix[0].length
    • 1 <= m, n <= 200
    • -231 <= matrix[i][j] <= 231 - 1

    进阶:

    • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
    • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
    • 你能想出一个仅使用常量空间的解决方案吗?

    2.代码

    class Solution {
    public:void setZeroes(vector<vector<int>>& matrix) {int m = matrix.size();int n = matrix[0].size();std::vector<bool> rows(m, false);std::vector<bool> cols(n, false);// 记录哪些行和列中存在值为 0 的元素for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {if (matrix[i][j] == 0) {rows[i] = true;cols[j] = true;}}}// 根据记录的信息将相应的行和列置为 0for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {if (rows[i] || cols[j]) {matrix[i][j] = 0;}}}}
    };

    http://www.xdnf.cn/news/1971.html

    相关文章:

  • U-Mail邮件加速服务:全球链路加速,安全稳定收发
  • OpenCV中的SIFT特征提取
  • ubuntu 20.04 编译运行lio-sam,并保存为pcd
  • 《Piper》皮克斯技术解析:RIS系统与云渲染如何创造奥斯卡级动画短片
  • XYNU2024信安杯-REVERSE(复现)
  • 面试踩过的坑
  • Shell脚本-while循环语法结构
  • 2025 年导游证报考条件新政策解读与应对策略
  • 为何 RAG 向量存储应优先考虑 PostgreSQL + pgvector 而非 MySQL?
  • Linux:进程间通信->匿名管道实现内存池
  • C/C++线程详解
  • Kafka 架构设计和组件介绍
  • 无人机环境适应性与稳定性技术要点!
  • 高效DCDC电源芯片在运动控制器中的应用:设计考量、性能评估与可靠性分析
  • PySide与Qt工具链的深度整合
  • 传统中台的重生——云原生如何重塑政务系统后端架构
  • websheet 之 单元格
  • 计算机网络笔记(十一)——2.4信道复用技术
  • 华为VRP系统简介配置TELNET远程登录!
  • [Unity]-[UI]-[Prefab] 关于Unity UGUI 的布局及组件讲解
  • 霍格软件测试-JMeter高级性能测试一期
  • 热度上升,25西电机电工程学院(考研录取情况)
  • [mysql]数据类型精讲
  • FX10(CYUSB4014)USB3.2(10Gbps)开发笔记分享(1):硬件设计与开发环境搭建
  • JAVA设计模式——(七)代理模式
  • run code执行ts配置
  • Python爬虫实战:获取链jia网北京市海淀区最新租房信息并做分析,以供租房参考
  • Unity Shader Properties详解
  • 类《双人成行》3D动作益智冒险类双人控制游戏开发
  • iOS/Android 使用 C++ 跨平台模块时的内存与生命周期管理