欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 73.矩阵置零

73.矩阵置零

2025/11/22 18:49:12 来源:https://blog.csdn.net/2301_76145947/article/details/148079350  浏览:    关键词:73.矩阵置零

题目来源:

        LeetCode题目:73. 矩阵置零 - 力扣(LeetCode)

解题思路:

       只想到了空间复杂度为 O(m+n) 的解法。新建两个数组,一个存放需要置0 的行,另一个存放需要置 0 的列,遍历完所给矩阵后根据数组元素的值来修改矩阵。

解题代码:

#python3
class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""row=[1]*len(matrix)column=[1]*len(matrix[0])for i in range(len(matrix)):for j in range(len(matrix[0])):if matrix[i][j]==0:row[i]=0column[j]=0for i in range(len(row)):if row[i]==0:for j in range(len(matrix[0])):matrix[i][j]=0for j in range(len(column)):if column[j]==0:for i in range(len(matrix)):matrix[i][j]=0

总结:

        官方题解给出了三种解法。第一种是两个标记数组。第二种是使用两个标记变量标记第一行或者第一列是否包含0,然后将第一行和第一列作为标记数组标记取余行列。第三种是使用一个标记变量标记第一列是否包含0,然后用第一列的第一个元素标记第一行是否存在0,但是为了防止每一列的第一个元素被提前更新,需要倒序遍历矩阵。


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词