Given a triangle array, find the minimum path sum from top to bottom.
Sample Input:
[[2],[3,4],[6,5,7],[4,1,8,3]]
Hints
Hint 1
Use dynamic programming from bottom up
Hint 2
For each position, choose the smaller of two possible paths below
Hint 3
DP[i][j] = triangle[i][j] + min(DP[i+1][j], DP[i+1][j+1])