434
社区成员
发帖
与我相关
我的任务
分享(1)状态表示:
(2)状态方程:
f[i][j] = min(f[i - 1][j], f[i][j - 1]) + a[i][j]
走到当前位置的最小路径和 = 从上方位置或从左方位置过来的较小路径 + 当前位置值
(3)边界条件:
f[i][0] = 0x3fffffff;f[0][j] = 0x3fffffff
不存在从第 0 行到达任意列和第0 列到达任意行的有效路径,所以将其初始化为一个极大值来表示这种无效状态。
f[1][1] = a[1][1];
起点位置的最小路径和就是该位置的值。
(4)时间、空间复杂度分析
a和f来存储矩阵的值和状态,空间复杂度也是O(n^2)。
f存储了到达每个位置的最小路径和,避免了对相同位置的多次计算。