18、矩阵-矩阵置零

题解:这道题不能直接双层遍历遇到0就开始行列置零,会影响下次循环遍历。所以可以通过两个集合来记录0所在的行和列,然后再双层遍历遇到标记置0,代码如下:

java 复制代码
class Solution {
    public void setZeroes(int[][] matrix) {
        if (matrix==null||matrix.length==0){
            return;
        }
        Set<Integer> xSet = new HashSet<>();
        Set<Integer> ySet = new HashSet<>();
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                if (matrix[i][j]==0){
                    xSet.add(i);
                    ySet.add(j);
                }
            }
        }
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                if (xSet.contains(i)||ySet.contains(j)){
                    matrix[i][j]=0;
                }
            }
        }
    }
}
相关推荐
键来大师2 分钟前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
合作小小程序员小小店1 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
报错小能手2 小时前
刷题日常 5 二叉树最大深度
算法
多多*2 小时前
maven常用的命令
java·log4j·maven
xie_pin_an2 小时前
MyBatis-Plus 实战:MPJLambdaWrapper 多表联查用法全解析
java·spring boot·spring·mybatis
ᐇ9592 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表
luyun0202022 小时前
Windows 11操作更丝滑,绝了
java·运维·figma
码银2 小时前
【数据结构】顺序表
java·开发语言·数据结构
Greedy Alg2 小时前
LeetCode 84. 柱状图中最大的矩形(困难)
算法
Boop_wu2 小时前
[Java EE] 计算机基础
java·服务器·前端