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;
                }
            }
        }
    }
}
相关推荐
yyy(十一月限定版)7 分钟前
matlab矩阵的操作
算法·matlab·矩阵
Elieal11 分钟前
5 种方式快速创建 SpringBoot 项目
java·spring boot·后端
better_liang19 分钟前
每日Java面试场景题知识点之-Java修饰符
java·访问控制·static·abstract·final·修饰符·企业级开发
努力学算法的蒟蒻23 分钟前
day58(1.9)——leetcode面试经典150
算法·leetcode·面试
rgeshfgreh34 分钟前
Spring事务传播机制深度解析
java·前端·数据库
无名-CODING35 分钟前
Java Spring 事务管理深度指南
java·数据库·spring
xiaolyuh12335 分钟前
Spring MVC Bean 参数校验 @Validated
java·spring·mvc
txinyu的博客38 分钟前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
蕨蕨学AI42 分钟前
【Wolfram语言】45.2 真实数据集
java·数据库
搞笑症患者1 小时前
压缩感知(Compressed Sensing, CS)
算法·最小二乘法·压缩感知·正交匹配追踪omp·迭代阈值it算法