509、Fibonacci Number斐波那契数
难度:简单
题目描述
英文:
The Fibonacci numbers, commonly denoted
F(n)form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from0and1. That is,1
2F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), for N > 1.Given
N, calculateF(N).中文:
斐波那契数,通常用
F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:1
2F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定
N,计算F(N)。示例
Example 1:
1
2
3Input: 2
Output: 1
Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1.Example 2:
1
2
3Input: 3
Output: 2
Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2.Example 3:
1
2
3Input: 4
Output: 3
Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3.提示
0 ≤ N ≤ 30
解题思路
思路一
使用递归方法。
代码提交
Python,用时20ms,内存11.8M
1 | class Solution(object): |
使用decorator模式做递归方法中的缓存计算。
Python,用时20ms,内存12.1M
1 | from functools import wraps |
进行Recursion探索时完成的,其他解法后续补充。