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]; } }