gpt4 book ai didi

python - 求矩阵内 1s 的最大平方时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:30 26 4
gpt4 key购买 nike

我正在尝试解决一个问题,其中我必须在矩阵中找到 1 的最大平方,该矩阵仅包含零和一。

完整声明在这里:https://leetcode.com/problems/maximal-square/description/

我的解决方案是:

 def maximalSquare(matrix):
"""
:type matrix: List[List[str]]
:rtype: int
"""

if len(matrix)==0:
return 0

maxlen = 0

dp = [[0 for x in range(len(matrix[0])+1)] for x in range(len(matrix)+1)]

for i in range(1, len(matrix)+1):
for j in range(1, len(matrix[0])+1):
if matrix[i-1][j-1]==1:
dp[i][j] = min(dp[i-1][j], dp[i-1][j-1], dp[i][j-1]) + 1
maxlen = max(dp[i][j], maxlen)

return maxlen

示例运行:

Your input
[["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
Your answer
0
Expected answer
4

现在,我的逻辑很简单:如果三个 1 排成 L 形,第四个表示存在正方形。

但是答案差了很多,我真的找不到什么错误。

最佳答案

由于矩阵包含字符串,所以比较应该是

matrix[i-1][j-1]=="1"

而不是

matrix[i-1][j-1]==1

关于python - 求矩阵内 1s 的最大平方时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49521271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com