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;
                }
            }
        }
    }
}
相关推荐
暮冬-  Gentle°3 小时前
C++中的命令模式实战
开发语言·c++·算法
卷福同学5 小时前
【养虾日记】Openclaw操作浏览器自动化发文
人工智能·后端·算法
春日见6 小时前
如何入门端到端自动驾驶?
linux·人工智能·算法·机器学习·自动驾驶
图图的点云库6 小时前
高斯滤波实现算法
c++·算法·最小二乘法
回到原点的码农6 小时前
Spring Data JDBC 详解
java·数据库·spring
gf13211116 小时前
python_查询并删除飞书多维表格中的记录
java·python·飞书
zb200641207 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
一叶落4387 小时前
题目:15. 三数之和
c语言·数据结构·算法·leetcode
一勺菠萝丶7 小时前
Flowable + Spring 集成踩坑:流程结束监听器查询历史任务为空 & 获取不到审批意见
java·数据库·spring
jwn9997 小时前
Spring Boot 整合 Keycloak
java·spring boot·后端