Problem: 746. 使用最小花费爬楼梯
解题方法
明确dp数组含义 : 表示爬到第i层需要消耗多少体力
递推公式: 取前两层的消耗与需要消耗的体力的最小值
dp[i]
= min(dp[i - 1]
+cost[i - 1]
,dp[i - 2]
+cost[i - 2]
);递推顺序: 顺序
初始化: 无论跳到第一阶还是第二阶都是0
dp[0]
= 0;dp[1]
= 0;从2开始递推
需要注意dp的长度是cost.size()+1,因为楼顶是size层级
遍历的时候也要记得是i < size +1
复杂度
时间复杂度:
添加时间复杂度, 示例: $O(n)$
空间复杂度:
添加空间复杂度, 示例: $O(n)$
Code
1 |
|