leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0746.cpp (700B)
0 // memorization approach 1 class Solution { 2 public: 3 int minCostClimbingStairs(vector<int> &cost) { 4 vector<int> vec(cost.size() + 2); 5 for (int i = 2; i <= cost.size(); i++) 6 vec[i] = min(vec[i - 1] + cost[i - 1], vec[i - 2] + cost[i - 2]); 7 return vec[cost.size()]; 8 } 9 }; 10 11 // optimized, memorize only the previous two values 12 class Solution { 13 public: 14 int minCostClimbingStairs(vector<int> &cost) { 15 int first = cost[0], second = cost[1]; 16 for (int i = 2; i < cost.size(); i++) { 17 int crnt = cost[i] + min(first, second); 18 first = second; 19 second = crnt; 20 } 21 return min(first, second); 22 } 23 };