509. 斐波那契数列

问题描述

https://leetcode.cn/problems/fibonacci-number/description/

解题思路

最经典的递归问题,它的问题描述就是递归的。

先考虑参数和返回值。参数就是n,返回值是fib(n)的值。

然后考虑本层做什么,以及缩小规模。

根据定义,本层就是将fib(n-1)和fib(n-2)加起来。

同时,fib(n-1)和fib(n-2)的过程就是缩小规模的过程。

最后考虑递归出口。

当n==0 或者 n==1时,fib直接返回n。

代码

class Solution:
    def fib(self, n: int) -> int:
        if n < 2:
            return n
        return self.fib(n-1) + self.fib(n-2)

 

posted @ 2023-01-04 11:20  BJFU-VTH  阅读(28)  评论(0编辑  收藏  举报