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

2025年- H17-Lc125-73.矩阵置零(矩阵)---java版

1.题目描述

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

2.思路

(1)计算矩阵的行数

(2)计算矩阵的列数

(3)设计一个行列的bool数组

(4)遍历矩阵(二维数组),如果遇到元素0,则把元素0所在的行和列全都置为true

(5)再次遍历矩阵(二维数组),如果行数组为true把行数组置为0,如果列数组为true把列数组置为0.
注意点:
在这里插入图片描述

在这里插入图片描述

3.代码实现

public class H73 {public void setZeroes(int[][] matrix) {//1.计算矩阵的行数int m=matrix.length;//2.计算矩阵的列数int n=matrix[0].length;//3.设计一个行列的bool数组,boolean 是基本类型,默认值就是 false,不需要额外初始化。//Java 中数组初始化默认值为 null,而不是 false。//如果声明用Boolean,使用 row[i] == true 的时候,如果 row[i] 没被赋值过,就会变成 null == true,会抛出 NullPointerException。boolean[] row=new boolean[m];boolean[] col=new boolean[n];//4.遍历矩阵(二维数组),如果遇到元素0,则把元素0所在的行和列全都置为truefor(int i=0;i<m;i++){for(int j=0;j<n;j++){if(matrix[i][j]==0){row[i]=true;col[j]=true;}}}//5.再次遍历矩阵(二维数组),如果行数组为true把行数组置为0,如果列数组为true把列数组置为0.也就是把矩阵中的行列置为true的置为0for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(row[i]==true||col[j]==true){matrix[i][j]=0;}}}}public static void main(String[] args){H73 test08=new H73();int[][] matrix={{1,1,1},{1,0,1},{1,1,1}};test08.setZeroes(matrix);for(int[] row:matrix)//先遍历一维数组,行数组{for(int value:row)//再遍历列数组{System.out.print(value+" ");}System.out.println();}}
}
http://www.xdnf.cn/news/243757.html

相关文章:

  • 坚鹏:工行《DEEPSEEK赋能银行智能办公及数字化营销服务》培训
  • [蓝桥杯 2023 国 Python B] 划分 Java
  • 如何快速定位网络中哪台主机发起ARP攻击
  • 范式演进:从ETL到ELT及未来展望
  • 如何提升个人的稳定性?
  • 学习 Django 之前
  • 数据结构——树(中篇)
  • 论文笔记——QWen2.5 VL
  • 基于大模型预测的输尿管癌诊疗全流程研究报告
  • PDF24 Tools:涵盖20+种PDF工具,简单高效PDF工具箱,支持一键编辑/转换/合并
  • Selenium:模拟真实用户的爬虫
  • 【Python Web开发】04-Cookie和Session
  • 彩带飘落效果
  • 大学之大:香港理工大学2025.5.1
  • 返回类型后置 和 auto推导返回值类型
  • Vue 3 中通过 this. 调用 setup 暴露的函数
  • 使用CubeMX新建DMA工程——存储器到外设模式
  • 21 课时精通生成式 AI:微软官方入门指南详解
  • 人工智能发展对未来IT从业岗位的展望
  • Java大厂硬核面试:Flink流处理容错、Pomelo JVM调优、MyBatis二级缓存穿透防护与Kubernetes服务网格实战解析
  • Rust多线程性能优化:打破Arc+锁的瓶颈,效率提升10倍
  • SpringBoot研究生双选系统开发实现
  • 图与网络模型
  • C#实现主流PLC读写工具类封装
  • 设计模式简述(十五)观察者模式
  • OpenGL-ES 学习(15) ----纹理
  • x86_64 Linux使用avx指令(补充)
  • RISC-V AIA SPEC学习(四)
  • python如何把pdf转word
  • (33)VTK C++开发示例 ---图片转3D