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 };
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 };