120. 三角形最小路径和
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8285c953c33805d695bc6a948cb410b6.png)
Solution
- BFS的思想,计算出当前步中最小的
- DP[i+1][j]= min(DP[i][j]+triangle[i+1][j],DP[i+1][j])
- DP[i+1][j+1]= min(DP[i][j]+triangle[i+1][j+1],DP[i+1][j+1])
class Solution(object):
def minimumTotal(self, triangle):
"""
:type triangle: List[List[int]]
:rtype: int
"""
DP=[]
for lis in triangle:
DP.append([1000000]*len(lis))
DP[0][0] = triangle[0][0]
for i in range(len(triangle)-1):
for j in range(i+1):
print(i,j,(DP[i][j]+triangle[i+1][j]))
DP[i+1][j] = min(DP[i][j]+triangle[i+1][j],DP[i+1][j])
DP[i+1][j+1] = min(DP[i][j]+triangle[i+1][j+1],DP[i+1][j+1])
return min(DP[-1])