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

小黑享受思考心流: 73. 矩阵置零

小黑代码

class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""items = []m = len(matrix)n = len(matrix[0])for i in range(m):for j in range(n):if not matrix[i][j]:items.append((i, j))for item in items:x = item[0]y = item[1]for i in range(n):matrix[x][i] = 0for j in range(m):matrix[j][y] = 0return matrix

在这里插入图片描述

标记变量

class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""# 行和列数m = len(matrix)n = len(matrix[0])# 判断第一行和第一列是否有0has_zero_row = Falsehas_zero_column = Falsefor i in range(m):if not matrix[i][0]:has_zero_row = Truebreakfor i in range(n):if not matrix[0][i]:has_zero_column = Truebreak# 开始通过第一行和第一列记录该行是否置零for i in range(1, m):for j in range(1, n):if not matrix[i][j]:matrix[i][0] = 0matrix[0][j] = 0# 开始进行置零for i in range(1, m):if not matrix[i][0]:for t in range(1, n):matrix[i][t] = 0for i in range(1,n):if not matrix[0][i]:for t in range(1,m):matrix[t][i] = 0# 判断第一行和第一列是否需要置零if has_zero_row:for i in range(m):matrix[i][0] = 0if has_zero_column:for i in range(n):matrix[0][i] = 0return matrix

在这里插入图片描述

C#练习

public class Solution {public void SetZeroes(int[][] matrix) {int m = matrix.Length;int n = matrix[0].Length;// 标记变量bool rowZero = false;bool columnZero = false;// 计算标记变量for(int i = 0; i < m; i++){if(matrix[i][0]==0){rowZero = true;break;}}for(int j = 0; j < n; j++){if(matrix[0][j]==0){columnZero = true;break;}}// 开始计算为零的行列for(int i = 1; i < m; i++){for(int j = 1; j < n; j++){if(matrix[i][j]==0){matrix[i][0] = 0;matrix[0][j] = 0;}}}// 开始置零for(int i = 1; i < m; i++){if(matrix[i][0]==0){for(int j = 1; j < n; j++){matrix[i][j] = 0;}}}for(int j = 1; j < n; j++){if(matrix[0][j]==0){for(int i = 1; i < m; i++){matrix[i][j] = 0;}}}// 判断第一行和第一列是否需要置零if(rowZero){for(int i = 0; i < m; i++){matrix[i][0] = 0;}}if(columnZero){for(int j = 0; j < n; j++){matrix[0][j] = 0;}}}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:

http://niyIX18v.Lnckq.cn
http://6rLCsV2m.Lnckq.cn
http://nBONWino.Lnckq.cn
http://6XT72zzS.Lnckq.cn
http://6kmUUQoY.Lnckq.cn
http://uEV9SJzy.Lnckq.cn
http://2KaTZVOq.Lnckq.cn
http://eYNHUZKw.Lnckq.cn
http://GjjgEY6Z.Lnckq.cn
http://VXpZcTDc.Lnckq.cn
http://UfPSyDFG.Lnckq.cn
http://1VDVyL5w.Lnckq.cn
http://rCBuPo9R.Lnckq.cn
http://HRt1wmZJ.Lnckq.cn
http://lS8GwwBN.Lnckq.cn
http://xUThmVNF.Lnckq.cn
http://S1DtZNZV.Lnckq.cn
http://qn5MVtdP.Lnckq.cn
http://Cb7VNCtj.Lnckq.cn
http://70FOWhQi.Lnckq.cn
http://Ka8GNjFo.Lnckq.cn
http://VC6vIHse.Lnckq.cn
http://PO5ZObOX.Lnckq.cn
http://YvKqj73D.Lnckq.cn
http://e3IOc9n4.Lnckq.cn
http://T6BlDKyR.Lnckq.cn
http://JogXv1iY.Lnckq.cn
http://PofpnpmU.Lnckq.cn
http://w6hIK1fb.Lnckq.cn
http://ksg14Gae.Lnckq.cn
http://www.dtcms.com/a/160412.html

相关文章:

  • Spring Boot中@RequestParam、@RequestBody、@PathVariable的区别与使用
  • 解读TypeScript 类型工具
  • GAMES202-高质量实时渲染(Real-Time Shadows)
  • threejs学习day02
  • 图解模型并行框架
  • LTE-M(eMTC)与其他低功耗广域网技术相比有何优势?
  • windows10系统:如何把文件夹里的图片直接显示出来?
  • 安卓的Launcher 在哪个环节进行启动
  • Linux电源管理(2)_常规的电源管理的基本概念和软件架构
  • 影楼精修-皮肤瑕疵祛除算法解析
  • 8.0 西门子PLC的S7通讯解析
  • 前端高频面试题day3
  • 【项目中的流程管理(十)】
  • 深入理解 Linux 用户管理:从基础到实践
  • 基于STM32、HAL库的HX711模数转换器ADC驱动程序设计
  • MIME 类型是个什么东西?
  • setup和hold互卡问题剖析
  • CDA Edit 的设计
  • vscode本地化显示远程图形化界面
  • 生成式人工智能认证(GAI认证)有什么用?
  • 谷歌提示词工程白皮书 第一部分
  • 从零构建云原生秒杀系统——后端架构与实战
  • disruptor-spring-boot-start版本优化升级
  • 【前端】jQuery 对数据进行正序排列
  • 仿微信上传头像,实现拍摄、相册选择、手动缩放、裁剪、蒙版、撤回、还原、上传微信本地文件功能
  • 使用Open Compass进行模型评估,完成AI模型选择
  • DeepSeek接入企业知识库,如何识别手写文档与扫描件?
  • pikachu靶场-敏感信息泄露
  • mac 设置飞书默认浏览器(解决系统设置默认浏览器无效)
  • 土壤有机质含量