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;
                }
            }
        }
    }
}
相关推荐
hongyucai2 分钟前
详解rlinf强化学习四步曲
人工智能·python·算法·架构
变量未定义~2 分钟前
ST表-龙骑士军团【算法赛】
数据结构·算法
北京阿法龙科技有限公司11 分钟前
AR智能眼镜安防应用核心指标:识别距离筑牢防线
java·开发语言·ar
Yang_jie_0317 分钟前
笔记:数据结构(循环队列相关判断条件)
数据结构·笔记
殘殤血18 分钟前
Tomcat的事件监听机制:观察者模式 _
java·观察者模式·tomcat
汤姆yu19 分钟前
面向具身智能的物理视频模拟器:蚂蚁灵波LingBot-Video开源模型全解析
java·大数据·人工智能·gpt·开源·大模型·音视频
小帽子_12322 分钟前
储能 SOC/SOH 精准估算技术:储能工况下算法优化与误差修正方案
算法
SQL-First布道者24 分钟前
Spring JDBC Ultra 十边型战士
java·spring boot·后端·mysql·spring·mybatis
hhlongg28 分钟前
FFT分析
算法
殘殤血28 分钟前
Tomcat的事件监听机制:观察者模式
java·观察者模式·tomcat