From eaecba490db669167d4486f91836e4ab4cdfaecc Mon Sep 17 00:00:00 2001 From: shellhub Date: Thu, 24 Dec 2020 16:57:13 +0800 Subject: [PATCH] fibonacci dynamic programing --- dynamicprogramming/fibonacci_dp.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 dynamicprogramming/fibonacci_dp.py diff --git a/dynamicprogramming/fibonacci_dp.py b/dynamicprogramming/fibonacci_dp.py new file mode 100644 index 0000000..dbdec52 --- /dev/null +++ b/dynamicprogramming/fibonacci_dp.py @@ -0,0 +1,24 @@ +def fibonacci(nth: int) -> int: + """ + >>> fibonacci(0) + 0 + >>> fibonacci(1) + 1 + >>> fibonacci(2) + 1 + >>> fibonacci(9) + 34 + """ + fibs = [0] * (nth + 2) + fibs[0] = 0 + fibs[1] = 1 + + for i in range(2, nth + 1): + fibs[i] = fibs[i - 1] + fibs[i - 2] + return fibs[nth] + + +if __name__ == "__main__": + from doctest import testmod + + testmod()