【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;
                }
            }
        }

        
    }
}
相关推荐
历程里程碑7 分钟前
LeetCode 560题:和为K子数组最优解
算法·哈希算法·散列表
java硕哥16 分钟前
Spring源码debug方法
java·后端·spring
qq_4017004122 分钟前
C/C++中的signed char和unsigned char详解
c语言·c++·算法
杂货铺的小掌柜28 分钟前
MAC版IDEA常用快捷键
java·macos·intellij-idea
leoufung36 分钟前
LeetCode 67. Add Binary:从面试思路到代码细节
算法·leetcode·面试
xjz184240 分钟前
JVM虚拟线程:JEP 444开启Java并发编程新纪元
java
JH307340 分钟前
Spring Retry 实战:优雅搞定重试需求
java·后端·spring
wjykp1 小时前
79~87逻辑回归f
算法·机器学习·逻辑回归
蓝眸少年CY1 小时前
测试Java性能
java·开发语言·python
何包蛋H1 小时前
数据结构深度解析:Java Map 家族完全指南
java·开发语言·数据结构