Skip to content

Commit 31ddda8

Browse files
committed
feat: Optimize space complexity in climbStairs function
1 parent 83f6075 commit 31ddda8

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

climbing-stairs/WhiteHyun.swift

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@
88

99
final class Solution {
1010
func climbStairs(_ n: Int) -> Int {
11-
var dp: [Int] = .init(repeating: 0, count: 45)
12-
dp[0] = 1
13-
dp[1] = 2
14-
for i in 2 ..< 45 {
15-
dp[i] = dp[i - 1] + dp[i - 2]
11+
var prevWays = 1
12+
var prevPrevWays = 1
13+
for _ in stride(from: 2, through: n, by: 1) {
14+
(prevWays, prevPrevWays) = (prevPrevWays, prevWays + prevPrevWays)
1615
}
17-
return dp[n - 1]
16+
return prevPrevWays
1817
}
1918
}

0 commit comments

Comments
 (0)