class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int[] dp=new int[triangle.size()];
for(int i=triangle.size()-1;i>=0;i--)
for(int j=0;j<=i;j++)
if(i==triangle.size()-1)
dp[j]=triangle.get(i).get(j);
else
dp[j]=Math.min(dp[j+1],dp[j])+triangle.get(i).get(j);
return dp[0];
}
}