题目链接这里
这是我第一个超时需要算法的程序。使用的是有记录的动态规划问题。
public class Solution {
public static int records[];
public static int climbStairs(int n) {
records=new int[n+1];
Arrays.fill(records, 0);
for(int i=1;i<=n;i++)
{
process(i);
}
return records[n];
}
public static int process(int n)
{
if(n<0)
{
return 0;
}
else if(n==0)
{
return 1;
}
else if(records[n]==0)
{
records[n]=process(n-1)+process(n-2);
}
else
{
return records[n];
}
return -1;
}
}