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;
                }
            }
        }
    }
}
相关推荐
七老板的blog12 小时前
多阶段 AI 评测流水线架构设计与实践
java·人工智能·spring
小欣加油12 小时前
leetcode3635 最早完成陆地和水上游乐设施的时间II
数据结构·c++·算法·leetcode
qq_4581482013 小时前
科大讯飞实时语音识别(rtasr)真实项目踩坑经验总结与手把手教学真实可运行Demo
java·开发语言·websocket·语音识别
创业之路&下一个五年13 小时前
mvvm中v和vm关系,vm中v和m的关系?
java·开发语言·javascript
阿昌喜欢吃黄桃13 小时前
Java优质开源AI项目
java·ai·langchain·开源·rag·springai·langchain4j
2601_9578848413 小时前
分布式媒体矩阵系统的任务调度架构:高并发分发队列与背压控制控制实践
分布式·矩阵·媒体
biubiubiu070613 小时前
SpringBoot3.5.4 AOP环绕通知使用
java·spring boot
GUO_PP13 小时前
win11英雄联盟打开以后,自动改变音效,开启免提模式的问题修正
人工智能·算法
西安邮电大学13 小时前
Redis四大经典缓存问题
java·redis·后端·其他·面试
变量未定义~13 小时前
排列数字、 n-皇后问题
数据结构·算法