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;
                }
            }
        }
    }
}
相关推荐
Hi李耶4 分钟前
【LeetCode】557.反转字符串中的单词 III
算法·leetcode·职场和发展
yyy(十一月限定版)6 分钟前
016【入门】双端队列
数据结构·c++
深蓝学院10 分钟前
机器人学习算法五大体系详解:模仿、强化、多模态、持续学习……
算法·机器人
白狐_79825 分钟前
408数据结构:中缀转后缀与操作符栈容量——真题精讲
前端·javascript·数据结构
2401_8582861131 分钟前
OS82.【Linux】设计线程池
java·linux·运维·服务器·开发语言·算法·线程池
数据知道37 分钟前
IDOR 不安全的直接对象引用:API 越权实战检测
java·开发语言·网络·安全·网络安全
堕落年代43 分钟前
Ollama CPU 推理大提示词优化实测报告(细致化数据版)
java·后端·spring
Epiphany.5561 小时前
找到所有好字符串(记忆化搜索+KMP)(里面含KMP模板,用来入门)
算法
KobeSacre1 小时前
ForkJoinPool 源码
java
坚持编程的菜鸟1 小时前
模拟实现strncpy
c语言·算法·模拟实现strncpy