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

第73题 矩阵置零

题目

给定一个 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

思路

创建两个set集合用来记录矩阵中值为零的行数 集合和列数 集合
遍历整个矩阵找到值为零的数把行数和列数分别添加到两个set集合中
遍历行数 h 集合,把这些行数的所有列的值置为0
遍历列数 l 集合,把这些列数的所有行的值置为0

代码示例

import java.util.*;
public class lc73 {public static void main(String[] args) {int[][] matrix = {{0,1,2,0}, {3,4,5,2}, {1,3,1,5}};lc73 lc73 = new lc73();lc73.setZeroes(matrix);for (int i = 0; i < matrix.length; i++) {System.out.println(Arrays.toString(matrix[i]));}}public void setZeroes(int[][] matrix) {//创建两个set集合用来记录矩阵中值为零的行数 h 集合和列数 l 集合Set<Integer> h = new HashSet<>();Set<Integer> l = new HashSet<>();//遍历整个矩阵找到值为零的数把行数和列数分别添加到两个set集合中for (int i = 0; i < matrix.length; i++) {for (int j = 0; j < matrix[0].length; j++) {if(matrix[i][j]==0){h.add(i);l.add(j);}}}//遍历行数 h 集合,把这些行数的所有列的值置为0for (Integer val : h) {for (int i = 0; i < matrix[0].length; i++) {matrix[val][i] = 0;}}//遍历列数 l 集合,把这些列数的所有行的值置为0for (int i = 0; i < matrix.length; i++) {for (Integer val : l) {matrix[i][val] = 0;}}}
}

http://www.dtcms.com/a/561854.html

相关文章:

  • dw设计做网站案例使用免费的代码做网站
  • C++11新特性学习
  • 手机网站php源码网站建设课设心得
  • 网站年龄和域名年龄软件开发流程八个步骤模板
  • mybatis类型转换器
  • Vue项目中的Electron桌面应用开发实践指南
  • 如何运行asp.net网站wordpress怎么导入demo文件
  • focusPolicy/setFocusPolicy(FocusPolicy),styleSheet
  • 六.DockerFile解析及其应用部署
  • wp企业网站模板数据分析师事务所
  • AWS DMS 大规模数据库迁移:完全加载+持续复制最佳实践
  • 阿里巴巴六边形架构-从解耦到可测试的架构设计利器
  • 中国世界排名前500大学seo网上培训多少钱
  • 做网站做哪个行业好商城网站建设高端
  • 正规网站建设建设公司雅安建设局网站
  • 如何在Java中整合Redis?
  • 官方网站是什么意思免费链接生成器
  • 增加网站访客珠宝首饰商城网站建设
  • 网络通信的奥秘:TCP与UDP详解(三)
  • 理财网站开发最近中国新闻
  • 详解网络安全免杀对抗:攻防的猫鼠游戏
  • 【开题答辩全过程】以 高考志愿分析系统为例,包含答辩的问题和答案
  • ESP-IDF基础入门(2)
  • 中国建设官方网站首页网上商城推广方案
  • 网站建设必须安装程序天眼查公司信息查询
  • 织梦网站首页是哪个文件网站手机访问跳转代码
  • 博弈dp|凸包|math分类
  • 网站浏览器兼容性问题wordpress手机端网站
  • 中国建设银行预约网站xampp做网站
  • VS2019+CUDA 编译通过但有错误提示