class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int n = triangle.size();
int[][] sum = new int[n][n];
sum[0][0] = triangle.get(0).get(0);
for(int i=1;i<n;i++){
sum[i][0] = sum[i-1][0]+triangle.get(i).get(0);
}
for(int i=1;i<n;i++){
for(int j=1;j<i;j++){
sum[i][j] = Math.min(sum[i-1][j-1],sum[i-1][j])+triangle.get(i).get(j);
}
sum[i][i] = sum[i-1][i-1] + triangle.get(i).get(i);
}
int min = sum[n-1][0];
for(int i=1;i<n;i++){
min = Math.min(sum[n-1][i],min);
}
return min;
}
}
动态规划10(Leetcode120三角形最小路径和)
最新推荐文章于 2024-07-25 23:26:35 发布