最低票价
題目:
在一個(gè)火車旅行很受歡迎的國度,你提前一年計(jì)劃了一些火車旅行。在接下來的一年里,你要旅行的日子將以一個(gè)名為 days 的數(shù)組給出。每一項(xiàng)是一個(gè)從 1 到 365 的整數(shù)。
火車票有三種不同的銷售方式:
一張為期一天的通行證售價(jià)為 costs[0] 美元;
一張為期七天的通行證售價(jià)為 costs[1] 美元;
一張為期三十天的通行證售價(jià)為 costs[2] 美元。
通行證允許數(shù)天無限制的旅行。 例如,如果我們?cè)诘?2 天獲得一張為期 7 天的通行證,那么我們可以連著旅行 7 天:第 2 天、第 3 天、第 4 天、第 5 天、第 6 天、第 7 天和第 8 天。
返回你想要完成在給定的列表 days 中列出的每一天的旅行所需要的最低消費(fèi)。
題目解析:
這道題用動(dòng)態(tài)規(guī)劃是最合適的,解題思路是昨天的費(fèi)用加上只旅游一天的費(fèi)用的和 與 7天前的費(fèi)用加上旅行7天的費(fèi)用的和 與 30天前的加上旅行30天所需費(fèi)用的和三者最小的就是今天的最低費(fèi)用,如果旅行天數(shù)不滿足7天或者是30天,也應(yīng)該進(jìn)行比較計(jì)算,因?yàn)轭}目并沒有說7這兩個(gè)套餐不一定比天數(shù)不滿這些天所計(jì)算的費(fèi)用高。
總結(jié)
- 上一篇: Scrapy-Link Extracto
- 下一篇: oracle查询语句大全(oracle