Update climbing_stairs.py

This commit is contained in:
marina 2023-08-07 16:56:28 -07:00 committed by GitHub
parent 784b8a8698
commit 56c0e95516
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,7 +13,7 @@ def climb_stairs_o2n(n: int) -> int:
if n == 0 or n == 1:
return 1
return climb_stairs_o2n(n-1) + climb_stairs_o2n(n-2)
return climb_stairs_o2n(n - 1) + climb_stairs_o2n(n - 2)
def climb_stairs_memoization(n: int) -> int:
@ -24,7 +24,7 @@ def climb_stairs_memoization(n: int) -> int:
if n == 0 or n == 1:
return 1
if n not in memo:
memo[n] = helper(n-1, memo) + helper(n-2, memo)
memo[n] = helper(n - 1, memo) + helper(n - 2, memo)
return memo[n]
return helper(n, memo)
@ -36,7 +36,7 @@ def climb_stairs_optimized(n: int) -> int:
return 1
prev, curr = 1, 1
for i in range(2, n+1):
for i in range(2, n + 1):
temp = curr
curr = prev + curr
prev = temp
@ -49,10 +49,10 @@ def climb_stairs_tabulation(n: int) -> int:
if n == 0 or n == 1:
return 1
dp = [0] * (n+1)
dp = [0] * (n + 1)
dp[0] = dp[1] = 1
for i in range(2, n+1):
dp[i] = dp[i-1] + dp[i-2]
for i in range(2, n + 1):
dp[i] = dp[i - 1] + dp[i - 2]
return dp[n]