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; 3 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]; 8 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 } 15 16 dp[start] = res; 17 return res; 18 } 19 };