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;
                }
            }
        }
    }
}
相关推荐
t***5445 分钟前
如何在 Dev-C++ 中切换编译器
java·开发语言·c++
Lisonseekpan7 分钟前
Git:如何将一个分支的特定提交合并到另一个分支?
java·大数据·git·后端·elasticsearch
Boop_wu8 分钟前
[Java EE 进阶]Mybatis进阶(动态SQL)
java·数据库·maven·mybatis
Cathy Bryant9 分钟前
微分几何:曲面与坐标系
笔记·矩阵·高等数学·物理学·微分几何
上弦月-编程16 分钟前
企业级RAG系统构建指南
leetcode
大肥羊学校懒羊羊21 分钟前
完数与盈数的计算题解
数据结构·c++·算法
阿Y加油吧23 分钟前
算法实战笔记:LeetCode 31 下一个排列 & 287 寻找重复数
笔记·算法·leetcode
穿条秋裤到处跑24 分钟前
每日一道leetcode(2026.04.24):距离原点最远的点
算法·leetcode·职场和发展
wayz1128 分钟前
Day 13 编程实战:朴素贝叶斯与极端涨跌预警
人工智能·算法·机器学习
BullSmall31 分钟前
Redis 双机部署 完整方案(两种架构,适配两台机器)
java·redis·架构