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;
                }
            }
        }
    }
}
相关推荐
JIngJaneIL14 小时前
智慧物业|物业管理|基于SprinBoot+vue的智慧物业管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·论文·智慧物业管理系统
ANYOLY14 小时前
Redis 面试题库
java·redis·面试
有意义14 小时前
栈数据结构全解析:从实现原理到 LeetCode 实战
javascript·算法·编程语言
懒惰蜗牛14 小时前
Day63 | Java IO之NIO三件套--选择器(下)
java·nio·选择器·selector·半包粘包·tcp缓冲区
鹿鹿鹿鹿isNotDefined14 小时前
逐步手写,实现符合 Promise A+ 规范的 Promise
前端·javascript·算法
JavaGuide14 小时前
美团2026届后端一二面(附详细参考答案)
java·后端
打工人你好14 小时前
如何设计更安全的 VIP 权限体系
java·jvm·安全
L.EscaRC14 小时前
Spring IOC核心原理与运用
java·spring·ioc
封奚泽优14 小时前
下降算法(Python实现)
开发语言·python·算法
im_AMBER14 小时前
算法笔记 16 二分搜索算法
c++·笔记·学习·算法