120. Triangle
找出一个list的最小路径,只能走下或右下:
[
[2],
[3,4],
[6,5,7],
[4,1,8,3]
] // 2, 3, 5, 1
public int minimumTotal(List<List<Integer>> triangle) {
int len = triangle.size();
int[] memo = new int[len + 1];
for (int i = len - 1; i >= 0; i--) {
for (int j = 0; j <= i; j++) {
memo[j] = Math.min(memo[j], memo[j + 1]) + triangle.get(i).get(j);
}
}
return memo[0];
}