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

        
    }
}
相关推荐
人道领域几秒前
【零基础学java】(补充可变参数和Collections)
java·intellij-idea
夏幻灵5 分钟前
【Java进阶】面向对象编程第一站:深入理解类、对象与封装前言
java·开发语言
nsjqj6 分钟前
JavaEE初阶:多线程(1)
java·开发语言·jvm
0xwang6 分钟前
maven scope引起的程序崩溃
java·maven
ullio8 分钟前
arc207c - Combine to Make Non-decreasing
算法
ZhuNian的学习乐园19 分钟前
LLM对齐核心:RLHF 从基础到实践全解析
人工智能·python·算法
iAkuya20 分钟前
(leetcode)力扣100 31K个一组翻转链表(模拟)
算法·leetcode·链表
编程饭碗25 分钟前
【Java 类的完整组成】
java·开发语言·python
铭哥的编程日记43 分钟前
二叉树遍历的递归和非递归版本(所有题型)
算法
&永恒的星河&1 小时前
告别过时预测!最新时序新SOTA:TimeFilter教会模型“选择性失明”
人工智能·深度学习·算法·时序预测·timefilter·时序算法