Leetcode 70. Climbing Stairs Java版

原题链接:https://leetcode.com/problems/climbing-stairs/

求解思路:这道题目可以根据斐波那契数列的定义进行求解。每一步可以爬一格或者两个楼梯,可以发现,递推式是f(n)=f(n-1)+f(n-2),也就是等于前一格的可行数量加上前两格的可行数量,可以用递归或者递推都是比较简单的。

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

猜你喜欢

转载自blog.csdn.net/qq_28900249/article/details/86591969