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;
                }
            }
        }
    }
}
相关推荐
xing-xing2 分钟前
Java大模型开发框架Spring AI
java·人工智能·spring
Coder_Boy_5 分钟前
【DDD领域驱动开发】基础概念和企业级项目规范入门简介
java·开发语言·人工智能·驱动开发
我是你们的明哥6 分钟前
从 N 个商品中找出总价最小的 K 个方案
后端·算法
小付爱coding8 分钟前
本地部署dify教程【windows11版本】
java·ai·dify
y1y1z10 分钟前
Spring Security教程
java·后端·spring
MYMOTOE613 分钟前
ISC-3000S的U-Boot 镜像头部解析
java·linux·spring boot
民乐团扒谱机14 分钟前
【微实验】谱聚类之大规模数据应用——Nyström 方法
人工智能·算法·机器学习·matlab·数据挖掘·聚类·谱聚类
CoderYanger16 分钟前
A.每日一题——3606. 优惠券校验器
java·开发语言·数据结构·算法·leetcode
coderxiaohan19 分钟前
【C++】哈希表实现
数据结构·哈希算法·散列表
谷哥的小弟24 分钟前
Spring Framework源码解析——ConfigurableEnvironment
java·spring·源码