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

leetcode 73. 矩阵置零

题目如下
在这里插入图片描述

数据范围
在这里插入图片描述

如果一个点m(i,j) == 0其中i j都大于0那么按照题目要求对应的m[0][j] m[i][0]都要赋值为0.
所以我们可以令第一行和第一列作为标记是否对应的列和行需要置为0.
又因为我们没法判断第一行和第一列所以需要额外两个变量标记第一列和第二列。
这样就可以满足题目要求的O(1)空间复杂度

通过代码

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        bool r = false, c = false;
        int n = matrix.size();
        int m = matrix[0].size();
        for (int i = 0; i < n; i++) {
            if (matrix[i][0] == 0) {
                c = true;
                break;
            }
        }
        for (int i = 0; i < m; i++) {
            if (matrix[0][i] == 0) {
                r = true;
                break;
            }
        }
        for (int i = 1; i < n; i++) {
            for (int j = 1; j < m; j++) {
                if (matrix[i][j] == 0) {
                    matrix[0][j] = 0;
                    matrix[i][0] = 0;
                }
            }
        }
        for (int i = 1; i < n; i++) {
            for (int j = 1; j < m; j++) {
                if (!matrix[i][0] || !matrix[0][j]) {
                    matrix[i][j] = 0;
                }
            }
        }
        if (r) {
            for (int i = 0; i < m; i++) {
                matrix[0][i] = 0;
            }
        }

        if (c) {
            for (int i = 0; i < n; i++) {
                matrix[i][0] = 0;
            }
        }
    }
};

在这里插入图片描述

http://www.dtcms.com/a/38821.html

相关文章:

  • 鸿蒙新版开发工具DevEco Studio不能新建模拟的解决方法
  • 两台互通的服务器使用Docker部署一主两从MySQL8.0.35
  • 【Qt】为程序增加闪退crash报告日志
  • Nginx面试宝典【刷题系列】
  • 广州无人机考试培训收费标准(附报名流程)
  • 【开源免费】基于SpringBoot+Vue.JS美食烹饪互动平台(JAVA毕业设计)
  • python 剪切音频
  • [特殊字符]️ ‌Selenium元素存在性判断的5种方法‌
  • 归纳总结一下Tensorflow、PaddlePaddle、Pytorch构建神经网络基本流程,以及使用NCNN推理的流程
  • 快速上手 Uniapp:从入门到精通的捷径
  • css 设置svg文字的对齐方式。右对齐
  • 五、Redis哨兵监控
  • Halcon 颜色分割算子、RGB和HSV之间的转换
  • 基于STM32的智能垃圾分类与回收系统
  • Go红队开发—并发编程
  • 数据结构:二叉树的数组结构以及堆的实现详解
  • C++之继承详解
  • pikachu
  • MySQL 时区参数 time_zone 详解
  • 边缘计算收益低的三大指标
  • 使用Modbus协议西门子 S7-200 SMART PLC 通信
  • 组件传递props校验
  • leetcode59------螺旋矩阵II
  • sqlilab 46 关(布尔、时间盲注)
  • 用数组实现树的存储遍历【复习笔记】
  • 3DUNet-Pytorch-master环境配置(3dunet)
  • (IDE接入DeepSeek)简单了解DeepSeek接入辅助开发与本地部署建议
  • 【前端基础】Day 2 CSS层叠样式表
  • 说一下 SpringMVC的运行流程?
  • 代码随想录算法【Day54】