leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0983.cpp (576B)
0 class Solution {
1 vector<int> pass = {1, 7, 30};
2 unordered_map<int, int> dp;
4 public:
5 int mincostTickets(vector<int> &days, vector<int> &costs, int start = 0) {
6 if (start >= days.size()) return 0;
7 if (dp.count(start)) return dp[start];
9 int res = INT_MAX;
10 for (int k = 0, j = 0; k < pass.size(); k++) {
11 while (j < days.size() && days[j] - days[start] < pass[k])
12 j++;
13 res = min(res, costs[k] + mincostTickets(days, costs, j));
14 }
16 dp[start] = res;
17 return res;
18 }
19 };