另外两个经典题的答案

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

打家劫舍 [2, 7, 9, 3, 1]、最大子段和 [-2, 1, -3, 4, -1, 2, 1, -5, 4]。运行下面这段程序:

def rob(a):
    dp = [0] * (len(a) + 1)
    if a:
        dp[1] = a[0]
    for i in range(2, len(a) + 1):
        dp[i] = max(dp[i - 1], dp[i - 2] + a[i - 1])
    return dp

def max_sub(a):
    best = a[0]
    cur = a[0]
    for x in a[1:]:
        cur = max(x, cur + x)
        best = max(best, cur)
    return best

print(str(rob([2, 7, 9, 3, 1])[-1]) + "/" + str(max_sub([-2, 1, -3, 4, -1, 2, 1, -5, 4])))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论