【HashMap】 73. 矩阵置零

73. 矩阵置零

解题思路

  • 首先遍历矩阵找到所有的0元素 将其的行和列索引记录下俩
  • 遍历矩阵 将所有的需要更新的元素进行更新 也就是查找hashmap中的每一个元素进行更新
  • 查找行或者列是否在hashmap中
java 复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        // 首先遍历矩阵找到所有的0元素 将其的行和列索引记录下俩
        Map<Integer,Integer> map = new HashMap<>();
        Map<Integer,Integer> map1 = new HashMap<>();

        for(int i  = 0; i < matrix.length; i++){
            for(int  j = 0; j < matrix[0].length; j++){
                if(matrix[i][j] == 0){
                    map.put(i,j);// 将行和列的索引记录下来
                    map1.put(j,i);
                }
            }
        }

        // 遍历矩阵  将所有的需要更新的元素进行更新
        // 也就是查找hashmap中的每一个元素进行更新
        for(int i = 0; i < matrix.length; i++){
            for(int j = 0; j< matrix[0].length; j++){
                if(map.containsKey(i) || map1.containsKey(j)){
                    matrix[i][j] = 0;
                }
            }
        }

        
    }
}
相关推荐
兩尛几秒前
C++面向对象和类相关
java·c++·面试
ch.ju6 分钟前
Java程序设计(第3版)第二章——循环结构(3)
java
再玩一会儿看代码8 分钟前
idea中快捷键详细总结整理
java·ide·经验分享·笔记·学习·intellij-idea
IT光12 分钟前
IDEA 2026.1 配置属性识别问题解决
java·ide·intellij-idea
MegaDataFlowers13 分钟前
3.无重复字符的最长子串
算法
lst042614 分钟前
白色区域的来源是:
java
不羁的fang少年14 分钟前
Netty网络模型
java·开发语言
想不明白的过度思考者15 分钟前
一个叫Swagger的工具,让写接口文档变成享受
java·spring boot·接口·swagger
juniperhan18 分钟前
Flink 系列第16篇:Flink 核心数据类型类详解(POJO、Row、Tuple)
java·大数据·数据仓库·分布式·flink
人道领域19 分钟前
【LeetCode刷题日记】20.有效的括号
算法·leetcode·职场和发展