1. 程式人生 > >leetcode 70:爬樓梯

leetcode 70:爬樓梯

本來打算用遞迴的方式來做,但是超出時間限制,發現直接用陣列代替就好了

a[n-1]=a[n-2]+a[n-3];

int climbStairs(int n) {
    std::vector<int> a(n);

    if(n==1) {
        return 1;
    }
    if(n==2) {
        return 2;
    }
    if(n>2) {
        a[0] = 1;
        a[1] = 2;
        for (int i =2;i<n;i++){
            a[i]=a[i-1]+a[i-2];
        }
        return a[n-1];
    }
}