第三次算法作业

递归方程式
dp[i][j] = triangle[i][j] + max(dp[i-1][j-1], dp[i-1][j])
边界条件
dp[0][0] = triangle[0][0] // 顶点

// 第一列只能从正上方到达
for i from 1 to n-1:
dp[i][0] = triangle[i][0] + dp[i-1][0]

// 对角线上的点只能从左上方到达
for i from 1 to n-1:
dp[i][i] = triangle[i][i] + dp[i-1][i-1]

表的维度
二维表格dp[n][n]
填表范围
i=0到i=n-1
j=0到i
填表顺序
从顶向下,从第一行到第n-1行,每行从左往右填充
原问题的最优值是最后一行的最大值
总算法时间复杂度O(nn)
空间复杂度O(n
n)

posted @ 2025-11-18 23:24  旷磊洁  阅读(4)  评论(0)    收藏  举报