题目
分析
典型的斐波那契数列,f(n)=f(n-1)+f(n-2)
可以用递归来做,不过递归比较慢要进行2^n次加法,最后申请了一个数组做循环加法。
题解
int climbStairs(int n) {
int *arr = (int*)malloc(n*sizeof(int));
if (n<=2)
{
return n;
}
else
{
arr[0]=1;
arr[1]=2;
for(int i=2;i<n;i++)
arr[i]=arr[i-1]+arr[i-2];
return arr[n-1];
}
}
略了动态内存的处理。