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;
                }
            }
        }
    }
}
相关推荐
TracyCoder123几秒前
LeetCode Hot100(2/100)——49. 字母异位词分组 (Group Anagrams)。
算法·leetcode
cheems95272 分钟前
【javaEE】文件IO
java
lixinnnn.2 分钟前
字符串拼接:Cities and States S
开发语言·c++·算法
AI街潜水的八角2 分钟前
医学图像算法之基于MK_UNet的肾小球分割系统3:含训练测试代码、数据集和GUI交互界面
算法
larance4 分钟前
方差和标准差
人工智能·算法·机器学习
微露清风20 分钟前
系统性学习Linux-第一讲-Linux基础指令
java·linux·学习
TracyCoder12325 分钟前
LeetCode Hot100(3/100)——128.最长连续序列
算法·leetcode
tqs_1234527 分钟前
tcc中的空回滚和悬挂问题
java·数据库
MX_935943 分钟前
以配置非自定义bean来演示bean的实例化方式
java·开发语言·后端
哪里不会点哪里.1 小时前
Spring 事务机制详解:原理、传播行为与失效场景
java·数据库·spring