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

        
    }
}
相关推荐
故事还在继续吗1 分钟前
C++11关键特性
开发语言·c++·算法
zzzsde1 分钟前
【Linux】线程概念与控制(2)线程控制与核心概念
linux·运维·服务器·开发语言·算法
栗少9 分钟前
Python 入门教程(面向有 Java 经验的开发者)
java·开发语言·python
Gh0st_Lx10 分钟前
【8】分类任务原理
算法·分类·数据挖掘
WolfGang00732110 分钟前
代码随想录算法训练营 Day45 | 图论 part03
算法·图论
小毛驴85011 分钟前
命令行中使用 Maven 启动 Spring Boot 应用
java·spring boot·maven
小王师傅6611 分钟前
【Java结构化梳理】泛型-上
java·开发语言
a里啊里啊12 分钟前
软考-软件评测师:知识点整理(六)——数据结构与算法
数据结构·算法·链表·软考·软件评测师
互联科技报15 分钟前
短视频矩阵混剪工具源码架构深度解析:从超级编导、筷子科技到超级智剪2.0的技术范式演进
科技·矩阵·架构
歪楼小能手15 分钟前
Android16在开机向导最后添加一个声明界面
android·java·平板