mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-29 20:26:07 -04:00
Update climbing_stairs.py
This commit is contained in:
parent
784b8a8698
commit
56c0e95516
@ -13,7 +13,7 @@ def climb_stairs_o2n(n: int) -> int:
|
|||||||
|
|
||||||
if n == 0 or n == 1:
|
if n == 0 or n == 1:
|
||||||
return 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:
|
def climb_stairs_memoization(n: int) -> int:
|
||||||
@ -24,7 +24,7 @@ def climb_stairs_memoization(n: int) -> int:
|
|||||||
if n == 0 or n == 1:
|
if n == 0 or n == 1:
|
||||||
return 1
|
return 1
|
||||||
if n not in memo:
|
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 memo[n]
|
||||||
|
|
||||||
return helper(n, memo)
|
return helper(n, memo)
|
||||||
@ -36,7 +36,7 @@ def climb_stairs_optimized(n: int) -> int:
|
|||||||
return 1
|
return 1
|
||||||
prev, curr = 1, 1
|
prev, curr = 1, 1
|
||||||
|
|
||||||
for i in range(2, n+1):
|
for i in range(2, n + 1):
|
||||||
temp = curr
|
temp = curr
|
||||||
curr = prev + curr
|
curr = prev + curr
|
||||||
prev = temp
|
prev = temp
|
||||||
@ -49,10 +49,10 @@ def climb_stairs_tabulation(n: int) -> int:
|
|||||||
if n == 0 or n == 1:
|
if n == 0 or n == 1:
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
dp = [0] * (n+1)
|
dp = [0] * (n + 1)
|
||||||
dp[0] = dp[1] = 1
|
dp[0] = dp[1] = 1
|
||||||
|
|
||||||
for i in range(2, n+1):
|
for i in range(2, n + 1):
|
||||||
dp[i] = dp[i-1] + dp[i-2]
|
dp[i] = dp[i - 1] + dp[i - 2]
|
||||||
|
|
||||||
return dp[n]
|
return dp[n]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user