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

        
    }
}
相关推荐
专注VB编程开发20年1 分钟前
C#,VB.NET GPU计算和调试
算法·gpu
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 分钟前
Jsoup: 一款Java的HTML解析器
java·开发语言·前端·后端·缓存·html
Protein_zmm3 分钟前
【算法基础】位运算、离散化、区间合并
java·算法·spring
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧3 分钟前
JSP, MVC, El, JSTL, MAC
java·开发语言·mvc·mac·jsp
WZ188104638694 分钟前
LeetCode第54题
算法·leetcode
黎雁·泠崖5 分钟前
Java 数据结构与算法:时间空间复杂度 从入门到实战全解
java·开发语言
俩娃妈教编程5 分钟前
2025 年 06 月 三级真题(1)--分糖果
c++·算法·gesp真题
想不明白的过度思考者8 分钟前
Spring Boot 实战:MyBatis 操作数据库(上)
java·数据库·spring boot·mysql·mybatis
tankeven9 分钟前
HJ97 记负均正
c++·算法
俩娃妈教编程10 分钟前
2025 年 06 月 三级真题(2)--奇偶校验
c++·算法·gesp真题