题目描述
题解思路
我们使用a,b分别记录n - 2层向上爬的最小花费,n - 1层向上爬的最小花费
到达楼梯顶第N层,只能从N - 1层或者N - 2层向上爬
所以爬到第N层的最小花费 = 第N - 1层向上爬和第N - 2层向上爬的最小花费
题解代码
impl Solution {
pub fn min_cost_climbing_stairs(cost: Vec<i32>) -> i32 {
let (mut a, mut b) = (cost[0], cost[1]);
for i in 2..cost.len() {
(a, b) = (b, a.min(b) + cost[i]);
}
return a.min(b);
}
}