题解 | #最大子矩阵#

最大子矩阵

https://www.nowcoder.com/practice/a5a0b05f0505406ca837a3a76a5419b3

def max_sum(num: list):#本质还是最大连续子序列
    dp = [-99 for i in range(len(num) + 1)]
    dp[0] = num[0]
    for i in range(len(num)):
        dp[i] = max(num[i], dp[i - 1] + num[i])
    return max(dp)


n = int(input())
mat = [[] for i in range(n)]
for i in range(n):  # 矩阵的输入
    mat[i] = list(map(int, input().split(" ")))
ans = [0 for i in range(n)]
res = []
for i in range(n):
    ans = [0 for i in range(n)]
    for j in range(i, n):
        for k in range(n):
            ans[k] = ans[k] + mat[j][k]
        res.append(max_sum(ans))
print(max(res))

全部评论

相关推荐

04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务