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

LeetCode 刷题【73. 矩阵置零】

73. 矩阵置零

自己做

解:标记消除

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {vector<bool> x(matrix.size(), false);              //要置0的行vector<bool> y(matrix[0].size(), false);           //要置0的列//找出所有0元素for(int i = 0; i < (int)matrix.size(); i++)for(int j = 0; j < (int)matrix[0].size(); j++)if(matrix[i][j] == 0){x[i] = true;        //该行要置0y[j] = true;        //该列要置0}//置空行   for(int i = 0; i < (int)matrix.size(); i++)if(x[i])                   //该行需要置0for(int j = 0; j < (int)matrix[0].size(); j++)matrix[i][j] = 0;//置空列for(int j = 0; j < (int)matrix[0].size(); j++)        if(y[j])                   //该列需要置0for(int i = 0; i < (int)matrix.size(); i++)matrix[i][j] = 0;}
};

看题解

解:利用已有空间保存数据

官方代码:

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {int m = matrix.size();int n = matrix[0].size();int flag_col0 = false, flag_row0 = false;for (int i = 0; i < m; i++) {if (!matrix[i][0]) {flag_col0 = true;}}for (int j = 0; j < n; j++) {if (!matrix[0][j]) {flag_row0 = true;}}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {if (!matrix[i][j]) {matrix[i][0] = matrix[0][j] = 0;}}}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {if (!matrix[i][0] || !matrix[0][j]) {matrix[i][j] = 0;}}}if (flag_col0) {for (int i = 0; i < m; i++) {matrix[i][0] = 0;}}if (flag_row0) {for (int j = 0; j < n; j++) {matrix[0][j] = 0;}}}
};


文章转载自:

http://yl1C4k6b.wwkfg.cn
http://K5dNBZ40.wwkfg.cn
http://GQ6DxMdJ.wwkfg.cn
http://ZZEvDlvZ.wwkfg.cn
http://pqFCe3f7.wwkfg.cn
http://Qlfl8C0f.wwkfg.cn
http://dVj8phkg.wwkfg.cn
http://0PxSgxjm.wwkfg.cn
http://EsoJFNVt.wwkfg.cn
http://mU5ql6sq.wwkfg.cn
http://FRp48t5m.wwkfg.cn
http://soVLxVbH.wwkfg.cn
http://8fwaa732.wwkfg.cn
http://DXXVRyXu.wwkfg.cn
http://V4jk5cTv.wwkfg.cn
http://YTEs3XGK.wwkfg.cn
http://wJKul9Ik.wwkfg.cn
http://FFmCsyt8.wwkfg.cn
http://5JsZusNY.wwkfg.cn
http://0ox6Pd47.wwkfg.cn
http://3q31KwLW.wwkfg.cn
http://PNENnvob.wwkfg.cn
http://vAYFXRED.wwkfg.cn
http://9Z8TJf9H.wwkfg.cn
http://W3dJDGJ8.wwkfg.cn
http://8AiWBixQ.wwkfg.cn
http://zLpsMn43.wwkfg.cn
http://mCawEN1x.wwkfg.cn
http://u2Wg7GXV.wwkfg.cn
http://1nTmOdwm.wwkfg.cn
http://www.dtcms.com/a/379704.html

相关文章:

  • Ubuntu 系统安装 Miniconda 完整方法与注意事项
  • 计算机视觉(opencv)实战十七——图像直方图均衡化
  • vue3 样式 css、less、scss、sass 的说明
  • CSS 中 white-space 用于控制元素内空白符(空格、制表符、换行符)的处理方式以及文本的换行行为
  • 少儿舞蹈小程序(14)在线预约
  • 【uniapp微信小程序】扫普通链接二维码打开小程序
  • 基于uni-app的蛋糕订购小程序的设计与实现(代码+数据库+LW)
  • 微服务保护和分布式事务
  • 线性代数 · 行列式 | Sarrus Rules / Laplace Expansion
  • uni小程序中使用Echarts图表
  • 小程序setNavigationBarColor设置背景渐变,图片渐变
  • OpenAI与微软“再造合作”:重组背后的资本与生态博弈
  • IP验证概述
  • 【RabbitMQ】高级特性:持久性·发送方确认·重试机制·TTL·死信队列·延迟队列·事务·消息分发
  • Cherry Studio递归工具调用机制深度解析
  • python+springboot大学生心理测评与分析系统 心理问卷测试 自动评分分析 可视化反馈系统
  • 多模态大模型1:Crab
  • MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
  • Python 数据分析:从新手到高手的“摸鱼”指南
  • 手写Spring底层机制的实现【初始化IOC容器+依赖注入+BeanPostProcesson机制+AOP】
  • 【MySQL】表的操作和数据类型
  • QT M/V架构开发实战:QFileSystemModel介绍
  • 基于POI-TL实现动态Word模板的数据填充:【散点图】特殊处理方案
  • Chrome插件开发入门技术文章大纲
  • 新手向:如何高效使用AI技术
  • iOS App 混淆与资源保护:iOS配置文件加密、ipa文件安全、代码与多媒体资源防护全流程指南
  • Docker网络实战:容器通信与隔离之道
  • AI 赋能云端运维:基于 MCP 协议深度集成 Codebuddy CLI 与腾讯云 Lighthouse 的实战全解
  • 《从 0 建立测试开发认知:先搞懂 “是什么”,再学 “怎么做”》
  • Flink1.17.0集群的搭建