Skip to content

Commit d2243b0

Browse files
authored
Create 983. Minimum Cost For Tickets (#677)
2 parents 8ac13a6 + 373ec9d commit d2243b0

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

983. Minimum Cost For Tickets

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public:
3+
int solve(vector<int>& days, int n, vector<int>& costs,vector<int>&dp) {
4+
if (n >= 366) {
5+
return 0;
6+
}
7+
if(dp[n]!=-1)return dp[n];
8+
if (days[n] == 1) {
9+
return dp[n]=min(costs[0] + solve(days, n + 1, costs,dp),
10+
min(costs[1] + solve(days, n + 7, costs,dp),
11+
costs[2] + solve(days, n + 30, costs,dp)));
12+
} else {
13+
return dp[n]=solve(days, n + 1, costs,dp);
14+
}
15+
}
16+
int mincostTickets(vector<int>& days, vector<int>& costs) {
17+
vector<int> d(366, 0);
18+
for (int i = 0; i < days.size(); i++) {
19+
d[days[i]] = 1;
20+
}
21+
vector<int>dp(366,-1);
22+
return solve(d, 1, costs,dp);
23+
}
24+
};

0 commit comments

Comments
 (0)