当前位置: 首页 > 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();}}
}

相关文章:

  • MySQL 查找指定表名的表的主键
  • Kubernetes(k8s)的API Server 组件原理与结合生产实战教程
  • 【LeetCode Hot100】回溯篇
  • Flowable7.x学习笔记(十六)分页查询我的待办
  • Ethan独立开发产品日报 | 2025-04-30
  • WPF之Image控件详解
  • 文件包含漏洞学习
  • Redis 挂掉后高并发系统的应对策略:使用 Sentinel 实现限流降级与 SkyWalking 监控优化
  • 什么是:云边端一体化架构
  • Matlab/Simulink - BLDC直流无刷电机仿真基础教程(五) - animateRotorPosition脚本讲解与使用
  • Unity 几种主流的热更新方式
  • 【Java学习笔记】递归
  • 【白雪讲堂 】GEO兴起:AI搜索时代的内容优化新战场
  • 哈希表笔记(三)Java Hashmap
  • 用手机相册教我数组概念——照片分类术[特殊字符][特殊字符]
  • AXI中的out of order和interleaving的定义和两者的差别?
  • mysql-窗口函数一
  • 缓存:缓解读库压力的高效方案与应用实践
  • Transformer架构的解耦重组现象
  • JVM——Java 虚拟机是如何加载 Java 类的?
  • 王毅谈金砖国家开展斡旋调解的经验和独特优势
  • 《探秘海昏侯国》数字沉浸特展亮相首届江西文化旅游产业博览交易会
  • 图忆|上海车展40年:中国人的梦中情车有哪些变化(上)
  • 中国代表:美“对等关税”和歧视性补贴政策严重破坏世贸规则
  • 八成盈利,2024年沪市主板公司实现净利润4.35万亿元
  • 五一去哪儿| 追着花期去旅行,“赏花经济”绽放文旅新活力