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

LeetCode第73题矩阵置零
1.思路: 想到一个开辟一点空间来解决方法,使用哈希集。就是使用一个哈希集(row和col)来储存数组中的元素为0的下标。然后再遍历,整个二维数组,在哈希集中存在对应的下标,就将这一行或这一列置为0。
2.代码部分

cpp 复制代码
#include<iostream>
#include<vector>
#include <unordered_set> 
using namespace std;


class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        unordered_set<int> row;  //记录横坐标
        unordered_set<int> col;  //记录纵坐标
        for (int i = 0; i < matrix.size(); i++) {
            for (int j = 0; j < matrix[0].size(); j++) {
                if (matrix[i][j] == 0) {
                    row.insert(i);
                    col.insert(j);
                }
            }
        }
        for (int i = 0; i < matrix.size(); i++) {
            for (int j = 0; j < matrix[0].size(); j++) {
                if (row.count(i) || col.count(j)) {
                	matrix[i][j] = 0;
                }
            }
        } 
    }
    
};
相关推荐
你撅嘴真丑2 分钟前
求矩阵的两对角线上的元素之和 与 sizeof的大作用
线性代数·算法·矩阵
我是一只小青蛙8882 分钟前
手撕C++STL的list实现
开发语言·c++·list
I_belong_to_jesus7 分钟前
LLVM后端入门8:Subtarget支持
c++·llvm
星火开发设计35 分钟前
表达式与语句:C++ 程序的执行逻辑基础
java·开发语言·c++·学习·知识·表达式
天赐学c语言36 分钟前
1.17 - 排序链表 && 虚函数指针是什么时候初始化的
数据结构·c++·算法·链表·leecode
兵哥工控40 分钟前
mfc精确到0.01秒的方波曲线实例
c++·mfc
郝学胜-神的一滴43 分钟前
Qt与Web混合编程:CEF与QCefView深度解析
开发语言·前端·javascript·c++·qt·程序人生·软件构建
一条大祥脚1 小时前
一题N解 两种分块|四维莫队|容斥+二维莫队|希尔伯特排序莫队|zorder排序莫队
数据结构·c++·算法
2501_940315261 小时前
蓝桥云课:分巧克力(二分查找法)
数据结构·c++·算法
C++chaofan1 小时前
JUC并发编程:LockSupport.park() 与 unpark() 深度解析
java·开发语言·c++·性能优化·高并发·juc