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;
                }
            }
        }
    }
}
相关推荐
aaaameliaaa1 分钟前
结构体 结构体
c语言·笔记·算法
五仁火烧5 分钟前
大模型开发: MCP
java·大模型·mcp
yuzhiboyouye14 分钟前
XML写接口适用场景举例
java·服务器·前端
今天的接口写完了吗?18 分钟前
Java 使用 OkHttp 调用外部接口
java
yuzhiboyouye32 分钟前
零sql和xml写接口,的区别是什么,过程是什么,举例一下下,用mybatis-plus+ spring-boot
java·服务器·前端
SendTomo1 小时前
.ico透明图标在线生成下载平台深度解析
大数据·数据结构·数据库·数据仓库·个人开发
小王师傅661 小时前
【设计模式】装饰模式(四):框架源码实战——从 Java I/O 到 Spring 到 MyBatis
java·设计模式
有Li1 小时前
【AI答疑】MR数据预处理步骤
人工智能·笔记·算法·语言模型·医学生
GG-_-Bond1 小时前
9.1kv存储持久化模拟面试
linux·c语言·数据结构·c++
nvvas1 小时前
Spring AI 2.0正式GA:Token砍掉64%,Java的AI反击战打响了
java·人工智能