We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent b83575f commit 1541fd3Copy full SHA for 1541fd3
solution/0700-0799/0746.Min Cost Climbing Stairs/Solution.go
@@ -1,8 +1,18 @@
1
func minCostClimbingStairs(cost []int) int {
2
n := len(cost)
3
- f := make([]int, n+1)
4
- for i := 2; i <= n; i++ {
5
- f[i] = min(f[i-1]+cost[i-1], f[i-2]+cost[i-2])
+ f := make([]int, n)
+ for i := range f {
+ f[i] = -1
6
}
7
- return f[n]
8
-}
+ var dfs func(int) int
+ dfs = func(i int) int {
9
+ if i >= n {
10
+ return 0
11
+ }
12
+ if f[i] < 0 {
13
+ f[i] = cost[i] + min(dfs(i+1), dfs(i+2))
14
15
+ return f[i]
16
17
+ return min(dfs(0), dfs(1))
18
+}
0 commit comments