162. 矩阵归零

Posted yunxintryyoubest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了162. 矩阵归零相关的知识,希望对你有一定的参考价值。

162. 矩阵归零

中文English

给定一个m×n矩阵,如果一个元素是0,则将其所在行和列全部元素变成0。

需要在原矩阵上完成操作。

样例

样例 1:

输入:[[1,2],[0,3]]
输出:[[0,2],[0,0]]

样例 2:

输入:[[1,2,3],[4,0,6],[7,8,9]]
输出:[[1,0,3],[0,0,0],[7,0,9]]

挑战

你是否使用了额外的空间?
一个直接的解决方案是使用 O(MN) 的额外空间,但这并不是一个好的方案。
一个简单的改进方案是使用 O(M + N) 的额外空间,但这仍然不是最好的解决方案。
你能想出一个常数空间的解决方案吗? 

输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param matrix: A lsit of lists of integers
    @return: nothing
    """
    ‘‘‘
    大致思路:
    1.循环,得到所有为0的元素,初始化m_dic = [],n_dic = [],然后根据m和d进行置0,返回
    ‘‘‘
    def  setZeroes(self, matrix):
        m_dic,n_dic = [],[]
        for i in range(len(matrix)):
            for j in range(len(matrix[0])):
                if matrix[i][j] == 0:
                    m_dic.append(i)
                    n_dic.append(j)
        
        for m in m_dic:
            matrix[m] = [0]*len(matrix[0])
        
        for n in n_dic:
            for z in range(len(matrix)):
                matrix[z][n] = 0
        return matrix

 

以上是关于162. 矩阵归零的主要内容,如果未能解决你的问题,请参考以下文章

矩阵归零

如何使用 opencv 库将 3D 矩阵的元素归零?

如何将矩阵中强元素附近的弱元素归零?

行绑定矩阵,将所有行归零但只有一行

matlab不归零码为啥循环乘以占空比就可以变为归零码?

PyTorch:除前k之外的向量的所有元素都归零?