Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
给出1-365天内需要旅行的日期,以及单日票,七日票,年票的价格,问最少多少钱可以cover当年的旅行开支,dp


dp[i] = min(dp[i - 1] + costs[0], dp[i - 7] + costs[1], dp[i - 30] + costs[2])


 1 #983
 2 #Runtime: 28 ms (Beats 74.23%)
 3 #Memory: 13.2 MB (Beats 94.85%)
 4 
 5 class Solution(object):
 6     def mincostTickets(self, days, costs):
 7         """
 8         :type days: List[int]
 9         :type costs: List[int]
10         :rtype: int
11         """
12         dp = [0] * 366
13         for i in range(1, 366):
14             if i not in days:
15                 dp[i] = dp[i - 1]
16             else:
17                 dp[i] = min(dp[i - 1] + costs[0], dp[max(0, i - 7)] + costs[1], dp[max(0, i - 30)] + costs[2])
18         return dp[365]

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理