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

        
    }
}
相关推荐
雪碧聊技术4 分钟前
如何界定人工智能和java开发二者的关系?
java·人工智能·二者关系界定
Chase_______6 分钟前
【JAVA基础指南(四)】快速掌握类和对象
java·开发语言
柳鲲鹏10 分钟前
关于#pragma pack(push, 8),DeepSeek回答错误
算法
settingsun122520 分钟前
【AI-算法-01】ResNet (残差网络) & Skip Connections
人工智能·算法
muxin-始终如一28 分钟前
Maven HTTP 仓库被阻止问题解决总结
java·http·maven
武斌32 分钟前
需要独立的作业队列?看看Quartz增强框架Quartz Plus
java·spring boot·后端
橘颂TA40 分钟前
【剑斩OFFER】算法的暴力美学——两数之和
数据结构·算法·leetcode·力扣·结构与算法
福楠1 小时前
C++ STL | vector
开发语言·c++·算法
廋到被风吹走1 小时前
【Java】【JVM】即时编译解析:C1/C2、分层编译、OSR与日志分析
java·开发语言·jvm
计算机毕设指导61 小时前
基于微信小程序的扶贫助农系统【源码文末联系】
java·spring boot·后端·微信小程序·小程序·tomcat·maven