我是靠谱客的博主 儒雅茉莉,最近开发中收集的这篇文章主要介绍跳台阶(递归 循环),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。


分析:

*当有n个台阶时,假设有f(n)种走法。

*青蛙最后一步跨1个台阶或者跨2个台阶。

*当最后一步跨1个台阶时即之前有n-1个台阶,n-1个台阶有f(n-1)种走法;当最后一步跨2个台阶时即之前有n-2个台阶,n-2个台阶有f(n-2 )种走法。

*n个台阶的走法等于前两种情况的走法之和,即f(n)=f(n-1)+f(n-2)。

*斐波那契数列


思路一:递推

public class Solution {
    public int JumpFloor(int target) {
        if (target <= 1) return 1;
        int [] sum = new int[target + 1];

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


思路二:递归

public class Solution {
    public int JumpFloor(int target) {
        if (target <= 1)
            return 1;
        else
            return JumpFloor(target - 1) + JumpFloor(target - 2);
    }
}



最后

以上就是儒雅茉莉为你收集整理的跳台阶(递归 循环)的全部内容,希望文章能够帮你解决跳台阶(递归 循环)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部