本题目本质和爬楼梯是一样的,主要运用的是递归来解题。
class Solution:
my_dict = {}
def fib(self, n: int) -> int:
if self.my_dict.get(n) is not None: # 先判断有没有计算过这个值
return self.my_dict.get(n)
tempResult = 0
if n >= 2:
tempResult = self.fib(n - 1) + self.fib(n - 2)
elif n == 1:
tempResult = 1
else:
tempResult = 0
self.my_dict[n] = tempResult
return tempResult