前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[剑指offer] 跳台阶

[剑指offer] 跳台阶

作者头像
尾尾部落
发布2018-09-04 15:24:06
2670
发布2018-09-04 15:24:06
举报
文章被收录于专栏:尾尾部落尾尾部落
题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

解题思路

按照题意, 1 级 —- 1 种 2 级 —- 2 种 3 级 —- 3 种 4 级 —- 5 种 5 级 —- 8 种 我们可以得到一种规律,如果要跳 6 级,可以从 5 级跳一步到 6 级,5 级的方案中有多少种就有多少种跳法跳到 6 级;还可以从 4 级跳两步到 6 级,同理,4 级的方案有多少种就有多少种方法从 4 级跳到 6 级,所以可以得到公式f(n) = f(n-1) + f(n-2),再结合 1 级和 2 级的情况,可以得以如下的规律: f(n) = 1, (n=1) f(n) = 2, (n=2) f(n) = f(n-1)+f(n-2) ,(n>2,n为整数) 这就是斐波那契数列的变形,因此可以用递归来实现。

参考代码
代码语言:javascript
复制
public class Solution {
    public int JumpFloor(int target) {
        if(target<=0)
            return 0;
        else if(target == 1|| target == 2)
            return target;
        else
            return JumpFloor(target-1)+JumpFloor(target-2);
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 解题思路
  • 参考代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档