本文介绍: 既要记录第 1 列的信息,也要记录第 1 行的信息,这显然冲突了,因此需要定义一个变量,专门用来记录第一列中是否有 0,而使用。使用两个 set 记录下含有 0 的行和含有 0 的列,然后遍历这两个 set 将相应的行和列置为 0。第一次扫描先把含零的信息记录下来,第二次由最后一行向上遍历,利用第一行行第一列中记录的信息,来把相应的行列置零。使用 matrix 的第一行来记录各列中是否有 0,使用 matrix 的第一列记录各行中是否含有 0。来记录第一行中是否有 0。并没有副作用,同样的第。
题目描述
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
示例 1:
示例 2:
进阶:
解法:
解法 1:m+n 空间
使用两个 set 记录下含有 0 的行和含有 0 的列,然后遍历这两个 set 将相应的行和列置为 0。这是最直接的想法。
解法 2:不使用额外空间
在 leetcode 上看了一下大佬的解答,我咋没想到哩。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。