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;
                }
            }
        }
    }
}
相关推荐
瀚高PG实验室12 分钟前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
happymaker062615 分钟前
LeetCodeHot100——155.最小栈
算法
东南门吹雪16 分钟前
JAVA TCP socket编程框架
java·高并发·socket·tcp·nio
xingyuzhisuan16 分钟前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
洛水水25 分钟前
【力扣100题】85.每日温度
算法·leetcode·职场和发展
一条泥憨鱼26 分钟前
Java开发效率神器:Lombok从入门到精通!
java·后端·学习·开发·lombok
Jinkxs28 分钟前
Python基础 - 初识内置函数 Python自带的便捷工具
android·java·python
Coder-magician29 分钟前
《代码随想录》刷题打卡day15:二叉树part05
数据结构·c++·算法
Kurisu_红莉栖30 分钟前
力扣56合并区间
算法·leetcode
Darling噜啦啦31 分钟前
二叉树与递归算法实战:从树结构到 LeetCode 爬楼梯,一文吃透前端数据结构与递归思维
前端·javascript·数据结构