70 Climbing Stairs

斐波那契 f(n) = f(n -1) + f(n -2);

public class Solution {
    public int climbStairs(int n) {
        int f1 = 1;
        int f2 = 2;
        if (n == 1) {
            return f1;
        }
        if (n == 2) {
            return f2;
        }
        
        for (int i = 3; i<=n; i++) {
            int f3 = f2 + f1;
            f1 = f2;
            f2 = f3;
        }
        return f2;
    }
}

 

public class Solution {
    public int climbStairs(int n) {
        if (n <= 1) {
            return n;
        }
        
        int last = 1;
        int lastlast = 1;
        int now = 0;
        for (int i = 2; i <=n; i++) {
            now = last + lastlast;
            lastlast = last;
            last = now;
        }
        return now;
    }
}

 

posted on 2015-05-21 15:32  kikiUr  阅读(98)  评论(0编辑  收藏  举报