简单的DP,从底向上即可
class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int n = triangle.size();
int[] dp = new int[n + 1];
for (int i = n - 1; i >= 0; i--) {
for (int j = 0; j <= i; j++) {
dp[j] = Math.min(dp[j], dp[j + 1]) + triangle.get(i).get(j);
}
}
return dp[0];
}
}
本文介绍了一种使用动态规划方法解决二维数组(三角形)中寻找最小路径和的问题。通过从底部向上计算,逐步更新每个位置的最优解,最终得到三角形顶部的最小总和。
1097

被折叠的 条评论
为什么被折叠?



