diff --git a/983. Minimum Cost For Tickets b/983. Minimum Cost For Tickets new file mode 100644 index 0000000..31ea5ba --- /dev/null +++ b/983. Minimum Cost For Tickets @@ -0,0 +1,24 @@ +class Solution { +public: + int solve(vector& days, int n, vector& costs,vector&dp) { + if (n >= 366) { + return 0; + } + if(dp[n]!=-1)return dp[n]; + if (days[n] == 1) { + return dp[n]=min(costs[0] + solve(days, n + 1, costs,dp), + min(costs[1] + solve(days, n + 7, costs,dp), + costs[2] + solve(days, n + 30, costs,dp))); + } else { + return dp[n]=solve(days, n + 1, costs,dp); + } + } + int mincostTickets(vector& days, vector& costs) { + vector d(366, 0); + for (int i = 0; i < days.size(); i++) { + d[days[i]] = 1; + } + vectordp(366,-1); + return solve(d, 1, costs,dp); + } +};