当前位置: 首页 > article >正文

LeetCode(37)矩阵置零【矩阵】【中等】

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 73. 矩阵置零

1.题目

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -2^31 <= matrix[i][j] <= 2^31 - 1

进阶:

  • 一个直观的解决方案是使用 O(m * n) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

2.答案

class Solution {
    public void setZeroes(int[][] matrix) {
        Set<Integer> zeroLine = new HashSet<>(matrix.length);
        Set<Integer> zeroColumn = new HashSet<>(matrix.length);
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[0].length; j++) {
                if (matrix[i][j] == 0) {
                    zeroLine.add(i);
                    zeroColumn.add(j);
                }
            }
        }
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[0].length; j++) {
                if (zeroLine.contains(i) || zeroColumn.contains(j)) {
                    matrix[i][j] = 0;
                }
            }
        }
    }
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻


http://www.kler.cn/a/152154.html

相关文章:

  • AS 之 gradle 命令
  • excel合并单元格教程
  • HX3002入耳检测光感驱动调试-感0x08 寄存器溢出,不变化错误问题解决方法
  • python爬虫基础知识
  • 【开源存储】OpenZFS文件系统部署实践
  • currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’
  • 【ArcGIS Pro二次开发】(78):批量合并GDB数据库
  • Neo4j 数据库管理 数据备份与恢复(头歌)
  • C#文件流二进制文件的读写
  • Vue3.x 中 hooks 函数封装和使用
  • josef JZ-7Y-33静态中间继电器 电压DC220V 板前接线
  • Ubuntu22.04 使用Docker部署Neo4j出错 Exited(70)
  • React Native环境搭建及Hello World
  • Vue3 究竟好在哪里?
  • 【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现
  • dockerfile与docker-compose解释及对比
  • Python笔记之按订单重量与去向进行拼车运输算法
  • 仅仅通过提示词,GPT-4可以被引导成为多个领域的特定专家
  • 位运算算法总结
  • Linux:服务器管理工具宝塔(bt)安装教程