最后一步只可能是1或2,所以每一种方案n都是方案n-1和方案n-2的和,其实是斐波那契数列。
int climbStairs(int n) { int result[1000]; // Start typing your C/C++ solution below // DO NOT write int main() function result[0] = 1; result[1] = 1; result[2] = 2; if(result[n] != 0) return result[n]; else { result[n] = climbStairs(n-1)+climbStairs(n-2); return result[n]; } }