class Solution { public: int climbStairs(int n) { vector<unsigned long long> num;//斐波那契数列 num.push_back(1); num.push_back(2);//头两个单独设置 for(int i=2;i<n;i++)//使用循环而不是递归,节省内存和时间 num.push_back(num[i-2]+num[i-1]); return num[n-1]; } };
分析;
就知道三行的递归过不去,用数组也没差啦,只不过用unsigned long long连50阶楼梯都溢出,本想改用字符串,但是抱着试一试的态度提交一下,没想到过了,看了leecode认为没有五十阶的楼梯吧(不能够啊,西安地铁都几十阶),那就是leecode认为五十阶的楼梯可以装电梯了,只需要一步上去和一步下来,return 2就可以了。。。