[leetcode]节约空间的第十三天

      73.矩阵置零。给定一个带有0元素的矩阵,返回一个矩阵,其中原矩阵所有0所在的行和列所有元素都要置零。首先能想到的是用一个新矩阵,存储所有的0,然后对同行同列的元素置零,剩下的保留原矩阵的值。但是题目有要求减少额外空间的使用,这样很明显使用了太多的额外空间,于是更进一步,由于存在原矩阵中0本身就在同一行或同一列的情况,所以可以只存所有0的行号和列号,然后根据行号列号在原矩阵进行更改。

      但是这样空间复杂度也还是O(m+m),再进一步,可以将0所在行列的信息利用标记进行存储,即将行列第一个元素置零,这样就只需要对第一行有0或第一列有0的情况使用额外空间存储标记,就可以完成矩阵置零的任务。

posted @ 2020-09-04 16:23  小小的豪猪窝  阅读(114)  评论(0)    收藏  举报