Skip to content

Commit be7cc5a

Browse files
update fibo
1 parent 6b14f4f commit be7cc5a

1 file changed

Lines changed: 11 additions & 15 deletions

File tree

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
def fibonacci(n):
2-
if n < 0:
3-
raise ValueError("Fibonacci is not defined for negative integers.")
4-
if n <= 1:
5-
return n
1+
fib_cache = {}
2+
def fibonacci(n: int) -> int:
3+
if n == 0:
4+
return 0
5+
if n == 1:
6+
return 1
67

7-
# Track the last two numbers in the sequence
8-
prev2 = 0 # fibonacci(0)
9-
prev1 = 1 # fibonacci(1)
8+
if n in fib_cache:
9+
return fib_cache[n]
1010

11-
# Calculate upward to n
12-
for _ in range(2, n + 1):
13-
current = prev1 + prev2
14-
prev2 = prev1
15-
prev1 = current
16-
17-
return prev1
11+
fib_cache[n] = fibonacci(n - 1) + fibonacci(n - 2)
12+
13+
return fib_cache[n]

0 commit comments

Comments
 (0)