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;
                }
            }
        }
    }
}
相关推荐
sjsjs1113 小时前
力扣3558. 给边赋权值的方案数 I
算法·leetcode·职场和发展
布朗克16813 小时前
34 JVM深入理解
java·jvm
hujinyuan2016013 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(四级) 真题+答案
算法·机器人
啦啦啦啦啦zzzz13 小时前
算法总结(双指针)
c++·算法·双指针
Flittly13 小时前
【AgentScope Java新手村系列】(4)结构化输出
java·spring boot·spring·ai
花间相见13 小时前
【LeetCode01】—— 无重复字符的最长子串:滑动窗口经典题详解
python·算法·leetcode
wabs66613 小时前
关于动态规划【力扣96.不同的二叉搜索树的递推公式怎么理解?】
算法·动态规划
何以解忧,唯有..13 小时前
Python 中的继承机制:从基础到高级用法详解
java·开发语言·python
Yiyaoshujuku13 小时前
化合物数据集API接口(数据结构及样例)
java·网络·数据结构
QiLinkOS13 小时前
极客与商业思维的融合实践(1)
c语言·数据库·c++·人工智能·算法·开源协议