We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。
days
1
365
火车票有三种不同的销售方式:
一张为期一天的通行证售价为 costs[0] 美元; 一张为期七天的通行证售价为 costs[1] 美元; 一张为期三十天的通行证售价为 costs[2] 美元。 通行证允许数天无限制的旅行。 例如,如果我们在第 2 天获得一张为期 7 天的通行证,那么我们可以连着旅行 7 天:第 2 天、第 3 天、第 4 天、第 5 天、第 6 天、第 7 天和第 8 天。
costs[0]
costs[1]
costs[2]
返回你想要完成在给定的列表 days 中列出的每一天的旅行所需要的最低消费。
Input: days = [1,4,6,7,8,20], costs = [2,7,15] Output: 11 Explanation: 例如,这里有一种购买通行证的方法,可以让你完成你的旅行计划: 在第 1 天,你花了 costs[0] = $2 买了一张为期 1 天的通行证,它将在第 1 天生效。 在第 3 天,你花了 costs[1] = $7 买了一张为期 7 天的通行证,它将在第 3, 4, ..., 9 天生效。 在第 20 天,你花了 costs[0] = $2 买了一张为期 1 天的通行证,它将在第 20 天生效。 你总共花了 $11,并完成了你计划的每一天旅行。
Input: days = [1,2,3,4,5,6,7,8,9,10,30,31], costs = [2,7,15] Output: 17 Explanation: 例如,这里有一种购买通行证的方法,可以让你完成你的旅行计划: 在第 1 天,你花了 costs[2] = $15 买了一张为期 30 天的通行证,它将在第 1, 2, ..., 30 天生效。 在第 31 天,你花了 costs[0] = $2 买了一张为期 1 天的通行证,它将在第 31 天生效。 你总共花了 $17,并完成了你计划的每一天旅行。
1 <= days.length <= 365
1 <= days[i] <= 365
costs.length == 3
1 <= costs[i] <= 100
The text was updated successfully, but these errors were encountered:
/** * @param {number[]} days * @param {number[]} costs * @return {number} */ var mincostTickets = function(days, costs) { let maxDay = days[days.length - 1]; let dp = new Array(maxDay + 1); let index = 0; for (let i = 0; i <= maxDay; i++) { if (i === days[index]) { dp[i] = Math.min( (dp[i - 1] || 0) + costs[0], (dp[i - 7] || 0) + costs[1], (dp[i - 30] || 0) + costs[2], ); index++; } else { dp[i] = dp[i - 1] || 0; } } return dp[maxDay]; };
Sorry, something went wrong.
No branches or pull requests
983. Minimum Cost For Tickets
在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为
days
的数组给出。每一项是一个从1
到365
的整数。火车票有三种不同的销售方式:
一张为期一天的通行证售价为
costs[0]
美元;一张为期七天的通行证售价为
costs[1]
美元;一张为期三十天的通行证售价为
costs[2]
美元。通行证允许数天无限制的旅行。 例如,如果我们在第 2 天获得一张为期 7 天的通行证,那么我们可以连着旅行 7 天:第 2 天、第 3 天、第 4 天、第 5 天、第 6 天、第 7 天和第 8 天。
返回你想要完成在给定的列表 days 中列出的每一天的旅行所需要的最低消费。
Example 1
Example 2
Note:
1 <= days.length <= 365
1 <= days[i] <= 365
days
按顺序严格递增costs.length == 3
1 <= costs[i] <= 100
The text was updated successfully, but these errors were encountered: