# LWC 63：746. Min Cost Climbing Stairs

### Problem:

On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach the top of the floor, and you can either start from the step with index 0, or the step with index 1.

Example 1:

Input: cost = [10, 15, 20] Output: 15 Explanation: Cheapest is start on cost1, pay that cost and go to the top.

Example 2:

Input: cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1] Output: 6 Explanation: Cheapest is start on cost[0], and only step on 1s, skipping cost[3].

Note:

cost will have a length in the range [2, 1000].

Every cost[i] will be an integer in the range [0, 999].

Java版本：

    public int minCostClimbingStairs(int[] cost) {
int n = cost.length;
int[] dp = new int[n + 16];
for (int i = 2; i <= n; ++i) {
dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);
}
return dp[n];
}

Python版本：

    def minCostClimbingStairs(self, cost):
"""
:type cost: List[int]
:rtype: int
"""
n = len(cost)
dp = [0] * (n + 1)
for i in xrange(2, n + 1):
dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])

return dp[n]

346 篇文章47 人订阅

0 条评论

## 相关文章

### TimeUtil类所有方法

TimeUtil类的方法.png public static final String DATE_FORMAT = "yyyy-MM-dd"; /** ...

3486

### 17:字符串判等

17:字符串判等 总时间限制: 1000ms 内存限制: 65536kB描述 判断两个由大小写字母和空格组成的字符串在忽略大小写，且忽略空格后是否相等。 ...

3759

1474

1453

1153

4556

### JavaScript 知识点整理

JavaScript是按照ECMAScript标准设计和实现的，后文说的JavaScript语法其实是ES5的标准的实现。 先说说有哪些基础语法？ 最基础语法有...

2245

2081

2183

1940