Thought: DP. Use the Array to ensure O(n) space.
Code:
public class Solution {
public int minimumTotal(ArrayList<ArrayList<Integer>> triangle) {
int[] result = new int[triangle.size()];
for (int i = 0; i < triangle.size(); i++) {
result[i] = triangle.get(triangle.size() - 1).get(i);
}
for (int i = 1; i < triangle.size(); i++) {
for (int j = 0; j < triangle.size() - i; j++) {
result[j] = Math.min(result[j], result[j + 1]) + triangle.get(triangle.size() - i - 1).get(j);
}
}
return result[0];
}
}
No comments:
Post a Comment