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;
                }
            }
        }
    }
}
相关推荐
n***33353 小时前
TCP/IP协议栈深度解析技术文章大纲
java·spring boot
奋进的芋圆3 小时前
Java 线程池深度指南(JDK 17+)
java
鱼跃鹰飞3 小时前
Leetcode尊享面试100题:1060. 有序数组中的缺失元素
算法·leetcode·面试
啊我不会诶3 小时前
AtCoder Beginner Contest 438 vp补题
算法
computersciencer3 小时前
用最小二乘法求解一元一次方程模型的参数
算法·机器学习·最小二乘法
蓁蓁啊3 小时前
GCC 头文件搜索路径:-I vs -idirafter 深度解析
java·前端·javascript·嵌入式硬件·物联网
Coder_Boy_3 小时前
基于SpringAI的在线考试系统-核心业务流程图(续)
java·大数据·人工智能·spring boot·流程图
毕设源码-钟学长3 小时前
【开题答辩全过程】以 基于Springboot vue肢体残疾人就业服务网站的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
mit6.8243 小时前
扫描线|离散化|seg+二分|卡常
算法
ss2733 小时前
idea中git更新项目:将传入更改合并到当前分支,在传入更改上变基当前分支
java·git·intellij-idea