1 public class Solution {
2 public int minimumTotal(ArrayList<ArrayList<Integer>> triangle) {
3 // IMPORTANT: Please reset any member data you declared, as
4 // the same Solution instance will be reused for each test case.
5 int length = triangle.size();
6 int[] result = new int[length];
7 for(int i = 0; i < length; i++)
8 {
9 result[i] = triangle.get(length-1).get(i);
10 }
11 for(int i = length - 2; i >= 0; i--)
12 {
13 for(int j = 0; j < triangle.get(i).size(); j++)
14 {
15 result[j] = triangle.get(i).get(j) + Math.min(result[j], result[j + 1]);
16 }
17 }
18 return result[0];
19 }
20 }