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;
                }
            }
        }
    }
}
相关推荐
aloha_78912 小时前
软考信息系统项目管理师错误归纳总结
java·学习
vortex512 小时前
Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
java·linux·服务器
invicinble12 小时前
spring提供的其他机制
java·后端·spring
阿昌喜欢吃黄桃12 小时前
如果线程池中线程异常后:销毁还是复用?
java·线程·线程池·多线程·juc
奋斗的小乌龟12 小时前
动态创建Agent01
java·笔记
彦为君12 小时前
Java文件处理效率库Commons-IO(速览)
java·开发语言·mfc
她的男孩13 小时前
后台权限不只是菜单隐藏:Forge Admin 的 RBAC 权限链路拆解
java·后端·架构
不知名的老吴13 小时前
双栈秒杀表达式的生成方式
数据结构
Slow菜鸟13 小时前
Maven 仓库下载机制
java·数据库·maven
一个诺诺前行的后端程序员13 小时前
rag+springai
java·eclipse