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;
                }
            }
        }
    }
}
相关推荐
confiself6 分钟前
树形思考研究进展
java·大数据·微服务
还是鼠鼠9 分钟前
【Spring AI智能体实战 01】Java开发者接入大模型:国内平台、Token与API Key入门
java·大模型·spring ai·deepseek·阿里云百炼
zerozrc019 分钟前
Java Lambda 底层实现
java
AlunYegeer23 分钟前
Spring Boot 多模块服务间 API Token 鉴权排查记录
java·spring boot·后端
白白白小纯27 分钟前
每日算法day3—回文链表,链表分割
c语言·数据结构·算法·leetcode
编程风暴28 分钟前
3类人群的数据分析实习类型选择+4条选错红线
java·前端·数据分析
钱六两37 分钟前
Spring AI 使用 MCP 客户端(调用高德 MCP)
java·人工智能·spring
城管不管1 小时前
RabbitMQ死信队列
java·分布式·ai·面试·职场和发展·rabbitmq·agent
手写码匠1 小时前
华为云Flexus+DeepSeek征文|Dify 构建企业级联网搜索 Agent:查询改写、多源检索与引用溯源实战
人工智能·深度学习·算法·aigc
long3161 小时前
Java 团队入门到精通学习资料
java·开发语言