class Solution {
public int minCostClimbingStairs(int[] cost) {
//动态规划
//dp[i] 表示到达第 i 阶台阶花费的最少体力
int n = cost.length;
int[] dp = new int[n];
//边界条件
dp[0] = cost[0];
dp[1] = cost[1];
for(int i = 2; i < n; i++){
// 状态转移方程
dp[i] = Math.min(cost[i] + dp[i - 1], cost[i] + dp[i - 2]);
}
return Math.min(dp[n - 1], dp[n - 2]);
}
}
LeetCode746.使用最小花费爬楼梯
最新推荐文章于 2023-08-08 15:37:59 发布