查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
斐波纳契数列的前10个数字是:
0,1,1,2,3,5,8,13,21... |
class Solution{ public: /** * @param n: an integer * @return an integer f(n) */ map<int,int> check; int fibonacci(int n) { // write your code here if(n==1) return 0; if(n==2||n==3) return 1; int val1,val2; if(check[n-1]!=0){ val1=check[n-1]; }else{ val1=fibonacci(n-1); check[n-1]=val1; } if(check[n-2]!=0){ val2=check[n-2]; }else{ val2=fibonacci(n-2); check[n-2]=val2; } return val1+val2; } };