爬楼梯,一开始想的比较简单,想着暴力解决。
后来看评论发现是斐波那契数列,就想着用递归,竟然超时了。
网上查了一下,发现用数组求斐波那契数列用时比较少,把代码抄在这。
class Solution {
public int climbStairs(int n) {
if (n == 1) return 1;
else if (n == 2) return 2;
else {
int[] ans = new int[n];
ans[0] = 1;
ans[1] = 2;
for(int i=2;i<n;i++)
{
ans[i]=ans[i-1]+ans[i-2];
}
return ans[n-1];
}
}
}