Update 0746.使用最小花费爬楼梯.md

This commit is contained in:
fw_qaq
2023-04-13 12:37:03 +08:00
committed by GitHub
parent e9c4d54f53
commit 1ad26f69cd

View File

@ -312,17 +312,30 @@ func min(a, b int) int {
``` ```
### Javascript ### JavaScript
```Javascript ```Javascript
var minCostClimbingStairs = function(cost) { var minCostClimbingStairs = function(cost) {
const n = cost.length; const dp = [0, 0]
const dp = new Array(n + 1); for (let i = 2; i <= cost.length; ++i) {
dp[0] = dp[1] = 0; dp[i] = Math.min(dp[i -1] + cost[i - 1], dp[i - 2] + cost[i - 2])
for (let i = 2; i <= n; ++i) { }
dp[i] = Math.min(dp[i -1] + cost[i - 1], dp[i - 2] + cost[i - 2]) return dp[cost.length]
} };
```
return dp[n] 不使用 dp 数组
```JavaScript
var minCostClimbingStairs = function(cost) {
let dpBefore = 0,
dpAfter = 0
for(let i = 2;i <= cost.length;i++){
let dpi = Math.min(dpBefore + cost[i - 2],dpAfter + cost[i - 1])
dpBefore = dpAfter
dpAfter = dpi
}
return dpAfter
}; };
``` ```
@ -342,14 +355,14 @@ function minCostClimbingStairs(cost: number[]): number {
```typescript ```typescript
function minCostClimbingStairs(cost: number[]): number { function minCostClimbingStairs(cost: number[]): number {
let dp_before = 0, let dpBefore = 0,
dp_after = 0 dpAfter = 0
for (let i = 2; i <= cost.length; i++) { for (let i = 2; i <= cost.length; i++) {
let dpi = Math.min(dp_before + cost[i - 2], dp_after + cost[i - 1]) let dpi = Math.min(dpBefore + cost[i - 2], dpAfter + cost[i - 1])
dp_before = dp_after dpBefore = dpAfter
dp_after = dpi dpAfter = dpi
} }
return dp_after return dpAfter
} }
``` ```