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

        
    }
}
相关推荐
学习是生活的调味剂9 小时前
Java IO模型之BIO和NIO分析
java·nio
笙枫9 小时前
基于AI Agent框架下的能源优化调度方案和实践 |工具函数介绍(详细)
java·人工智能·能源
我命由我123459 小时前
Android Studio - Android Studio 去除 import 的未使用的类
android·java·ide·学习·java-ee·android studio·学习方法
Jeremy爱编码9 小时前
leetcode热题组合总和
算法·leetcode·职场和发展
沛沛老爹9 小时前
Skills高级设计模式(一):向导式工作流与模板生成
java·人工智能·设计模式·prompt·aigc·agent·web转型
程序员老徐9 小时前
Tomcat源码分析二(Tomcat启动源码分析)
java·tomcat·firefox
BD_Marathon9 小时前
SpringMVC——5种类型参数传递
android·java·数据库
努力学算法的蒟蒻9 小时前
day57(1.8)——leetcode面试经典150
算法·leetcode·面试
言之。9 小时前
大模型 API 中的 Token Log Probabilities(logprobs)
人工智能·算法·机器学习
a3158238069 小时前
Android 大图显示策略优化显示(二)
android·java·开发语言·javascript·kotlin·glide·图片加载