目录
题目
待添加
解法一
cpp
int min(int a, int b) {
return a < b ? a : b;
}
int minCostClimbingStairs(int* cost, int costSize) {
const int n = costSize;
// 爬到第n阶的最小花费 =
// 爬到第n-1阶的最小花费+从第n-1阶爬上第n阶的花费和
// 爬到第n-2阶的最小花费+从第n-2阶爬上第n阶的花费中取最小值
int ppre = 0, pre = 0, cur;
for (int i = 2; i <= n; i++) {
cur = min(pre + cost[i - 1], ppre + cost[i - 2]);
ppre = pre;
pre = cur;
}
return cur;
}