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 }