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

        
    }
}
相关推荐
Frostnova丶8 分钟前
LeetCode 190.颠倒二进制位
java·算法·leetcode
骇城迷影34 分钟前
代码随想录:链表篇
数据结构·算法·链表
闻哥44 分钟前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
hrhcode1 小时前
【Netty】五.ByteBuf内存管理深度剖析
java·后端·spring·springboot·netty
道亦无名1 小时前
aiPbMgrSendAck
java·网络·数据库
专注前端30年1 小时前
智能物流路径规划系统:核心算法实战详解
算法
发现你走远了1 小时前
Windows 下手动安装java JDK 21 并配置环境变量(详细记录)
java·开发语言·windows
心 -1 小时前
java八股文DI
java
json{shen:"jing"}2 小时前
字符串中的第一个唯一字符
算法·leetcode·职场和发展
黎雁·泠崖2 小时前
Java常用类核心详解(一):Math 类超细讲解
java·开发语言