1.动态规划
三角形问题
1 class Solution(object): 2 def minimumTotal(self, triangle): 3 """ 4 :type triangle: List[List[int]] 5 :rtype: int 6 """ 7 dp = triangle 8 length = len(triangle) 9 for i in range(1,length): 10 for j in range(len(dp[i])): 11 if j == 0: 12 dp[i][j] = triangle[i][j] + dp [i-1][j] 13 elif j == len(dp[i])-1: 14 dp[i][j] = triangle[i][j] + dp [i-1][j-1] 15 else: 16 dp[i][j] = triangle[i][j] + min(dp[i-1][j-1], dp[i-1][j]) 17 return min(dp[length-1])