您的位置:首页 > 汽车 > 新车 > 恩施网站制作公司_深圳建站模板公司_百度权重4网站值多少钱_郑州最新通告

恩施网站制作公司_深圳建站模板公司_百度权重4网站值多少钱_郑州最新通告

2024/12/24 10:19:27 来源:https://blog.csdn.net/qq_65509025/article/details/144162930  浏览:    关键词:恩施网站制作公司_深圳建站模板公司_百度权重4网站值多少钱_郑州最新通告
恩施网站制作公司_深圳建站模板公司_百度权重4网站值多少钱_郑州最新通告

1、题目描述

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

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

2、初始思路

2.1 思路1

先找出所有0的横纵坐标,然后遍历置零。

class Solution(object):def setZeroes(self, matrix):""":type matrix: List[List[int]]:rtype: None Do not return anything, modify matrix in-place instead."""all_i = []all_j = []m, n = len(matrix), len(matrix[0])for i in range(m):for j in range(n):if matrix[i][j] == 0:if i not in all_i:all_i.append(i)if j not in all_j:all_j.append(j)#print(all_i)for i in all_i:for j in range(n):matrix[i][j] = 0for j in all_j:for i in range(m):matrix[i][j] = 0return matrix

 2.2 思路2

通过设置false来判断0的存在

class Solution(object):def setZeroes(self, matrix):""":type matrix: List[List[int]]:rtype: None Do not return anything, modify matrix in-place instead."""m, n = len(matrix), len(matrix[0])m_0 = m * [False]n_0 = n * [False]for i in range(m):for j in range(n):if matrix[i][j] == 0:m_0[i] = Truen_0[j] = Truefor i in range(m):for j in range(n):if m_0[i] or n_0[j]:matrix[i][j] = 0

3、总结

1、矩阵的行列计算为

行
m = len(matrix)
列
n = len(matrix[0])

2、python中False和True首字母要大写

版权声明:

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

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