0070 Climbing Stairs
Solved at: 2023-01-28
https://leetcode.com/problems/climbing-stairs
Question
You are climbing a staircase. It takes n
steps to reach the top.
Each time you can either climb 1
or 2
steps. In how many distinct ways can you climb to the top?
Solution
class Solution {
func climbStairs(_ n: Int) -> Int {
var map = [0: 1, 1: 1]
if map.keys.contains(n) {
return map[n]!
}
for i in 2...n {
map[i] = map[i-1]! + map[i-2]!
}
return map[n]!
}
}
Results
- Runtime 0 ms, Beats 100%
- Memory 13.7 MB, Beats 67.32%
Complexity Analysis
for both
Takeaways
Using Fibonacci will give space complexity.