码迷,mamicode.com
首页 > 其他好文 > 详细

动态规划_leetcode120(经典的梯形模式)

时间:2019-03-17 14:05:04      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:etc   obj   mem   for   else   leetcode   动态规划   minimum   class   

class Solution1(object):
def minimumTotal(self, triangle):
"""
:type triangle: List[List[int]]
:rtype: int
"""
self.dp(triangle)

# i
# i , i+1


def dp(self,triangle):

length = len(triangle)
memo = [-1 for i in range(length)]


for i in range(length-1,-1,-1):

if i == length-1:

for j in range(len(triangle[i])):
memo[j] = triangle[i][j]

else:
temp = memo[0:]

for j in range(len(triangle[i])):

memo[j] = min(temp[j],temp[j+1])+triangle[i][j]

print memo[0]

return memo[0]








class Solution2(object):
def minimumTotal(self, triangle):
"""
:type triangle: List[List[int]]
:rtype: int
"""
pass


s = Solution1()

t = [
[2],
[3,4],
[6,5,7],
[4,1,8,3]
]

s.minimumTotal(t)

动态规划_leetcode120(经典的梯形模式)

标签:etc   obj   mem   for   else   leetcode   动态规划   minimum   class   

原文地址:https://www.cnblogs.com/lux-ace/p/10546506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!