120 Triangle
自底向上做dp,不需要额外开空间,直接复写数组就可以了
class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int l = triangle.size();
if(l==0||triangle==null) return 0;
if(l==1)return triangle.get(0).get(0);
for(int i=l-2;i>=0;i--){
for(int j=0;j<triangle.get(i).size();j++){
int left= triangle.get(i+1).get(j);
int right = triangle.get(i+1).get(j+1);
int min = Math.min(left,right);
int cur= triangle.get(i).get(j);
triangle.get(i).set(j,cur+min);
}
}
return triangle.get(0).get(0);
}
}