当前位置: 首页 > 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;
            }
        }
    }
};

在这里插入图片描述

相关文章:

  • 鸿蒙新版开发工具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 详解
  • 边缘计算收益低的三大指标
  • 人民日报读者点题·共同关注:今天我们为什么还需要图书馆?
  • 佩斯科夫:俄会考虑30天停火提议,但试图对俄施压无用
  • 马上评丨学术不容“近亲繁殖”
  • 上海市委常委会会议暨市生态文明建设领导小组会议研究基层减负、生态环保等事项
  • 中铁房地产24.7亿元竞得上海松江新城宅地,溢价率20.42%
  • 江西省直机关工委副书记熊亮华履新宜春市委常委、宣传部部长