【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 天前
[LeetCode刷题]128.最长连续序列(从零开始的java题解)
java·算法·leetcode
亓才孓1 天前
【MyBatis Exception】SQLSyntaxErrorException(按批修改不加配置会报错)
java·开发语言·mybatis
xiaoye-duck1 天前
《算法题讲解指南:优选算法-双指针》--05有效三角形的个数,06查找总价值为目标值的两个商品
c++·算法
亓才孓1 天前
【MyBatis Runtime Exception】自动驼峰映射对Map不生效,应该在查询中起别名
java·windows·mybatis
ArturiaZ1 天前
【day31】
开发语言·c++·算法
xiaoye-duck1 天前
《算法题讲解指南:优选算法-双指针》--07三数之和,08四数之和
c++·算法
没有bug.的程序员1 天前
调试艺术进阶:从断点内核到日志动态化的高效问题定位深度实战指南
java·调试·断点·日志动态化
渣瓦攻城狮1 天前
互联网大厂Java面试:Spring、微服务与消息队列技术详解
java·redis·spring·微服务·消息队列·面试指南·程序员面试
琢磨先生David1 天前
Java每日一题
数据结构·算法·leetcode
im_AMBER1 天前
Leetcode 125 验证回文串 | 判断子序列
数据结构·学习·算法·leetcode