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;
                }
            }
        }
    }
}
相关推荐
城管不管11 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
Java小白笔记11 小时前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
玫瑰互动GEO11 小时前
从分词逻辑到权重计算:小红书搜索SEO的技术原理与工程实现
矩阵·dubbo
爱敲键盘的猴子12 小时前
深入理解 Java HashMap
java·hashmap
霸道流氓气质12 小时前
Java开发者AI编程常用MCP、Skills、Rules全景汇总
java·开发语言·ai编程
天涯醉青楼12 小时前
Spring Boot 接口返回 Bean 时字段名“变形”的深度剖析与解决方案
java
步行cgn12 小时前
MyBatis 高级映射与延迟加载完全指南
java·tomcat·mybatis
thefool11226612 小时前
从中序与后序遍历序列构造二叉树
java
吴声子夜歌12 小时前
Java面试题——JVM(二)
java·开发语言·jvm
CRMEB12 小时前
商城大促活动策划全流程:从定目标到复盘四阶段
java·开发语言·人工智能·ai·开源·php