73. 矩阵置零

给定一个 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
  • -231 <= matrix[i][j] <= 231 - 1

法1:标记数组

cpp 复制代码
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        vector<bool> flagRow(matrix.size(),false);
        vector<bool> flagCol(matrix[0].size(),false);
        for(int row = 0;row<matrix.size();row++){
            for(int col = 0;col<matrix[0].size();col++){
                if(matrix[row][col]==0){
                    flagRow[row] = true;
                    flagCol[col] = true;
                }
            }
        }
        for(int row = 0;row<matrix.size();row++){
            for(int col = 0;col<matrix[0].size();col++){
                if (flagRow[row]||flagCol[col]){
                    matrix[row][col] = 0;
                }
            }
        }


    }
};
相关推荐
编码追梦人7 小时前
基于 STM32 的智能语音唤醒与关键词识别系统设计 —— 从硬件集成到算法实现
stm32·算法·struts
循着风10 小时前
二叉树的多种遍历方式
数据结构·算法
老猿讲编程13 小时前
C++中的奇异递归模板模式CRTP
开发语言·c++
.格子衫.14 小时前
022数据结构之树状数组——算法备赛
数据结构·算法·1024程序员节
黑科技Python15 小时前
生活中的“小智慧”——认识算法
学习·算法·生活
Yupureki15 小时前
从零开始的C++学习生活 16:C++11新特性全解析
c语言·数据结构·c++·学习·visual studio
紫荆鱼15 小时前
设计模式-迭代器模式(Iterator)
c++·后端·设计模式·迭代器模式
sali-tec16 小时前
C# 基于halcon的视觉工作流-章52-生成标定板
开发语言·图像处理·人工智能·算法·计算机视觉
IT古董16 小时前
【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(4)粗排算法模型多目标算法(Multi Task Learning)及目标融合
人工智能·算法·1024程序员节
熬了夜的程序员16 小时前
【LeetCode】89. 格雷编码
算法·leetcode·链表·职场和发展·矩阵