public class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int n = triangle.size();
List<Integer> last = triangle.get(n-1);
int[][] sum = new int[n][n];
for (int i=0; i<n; i++) {
sum[n-1][i] = last.get(i);
}
for (int i=n-2; i>=0; i--) {
List<Integer> row = triangle.get(i);
for (int j=0; j<=i; j++) {
sum[i][j] = Math.min(sum[i+1][j], sum[i+1][j+1]) + row.get(j);
}
}
return sum[0][0];
}
}
没有评论:
发表评论