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

对于本题,前提只有 一次 1阶或者2阶的跳法。

a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);

b.假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2)

c.由a\b假设可以得出总跳法为: f(n) = f(n-1) + f(n-2)

d.然后通过实际的情况可以得出:只有一阶的时候 f(1) = 1 ,只有两阶的时候可以有 f(2) = 2

e.可以发现最终得出的是一个斐波那契数列:

| 1, (n=1)

f(n) =     | 2, (n=2)

              | f(n-1)+f(n-2) ,(n>2,n为整数)
 
 
 public class Solution {
public int JumpFloor(int target) {
if(target == 1){
return 1;
}
if (target == 2){
return 2;
}
//n >=3
return JumpFloor(target - 1) + JumpFloor(target -2);
}
}

最新文章

  1. scrollViewDidEndScrollingAnimation和scrollViewDidEndDecelerating的区别
  2. HttpURLConnection请求
  3. java coder的水平
  4. PHP API 框架开发的学习
  5. 【CentOS】cp显示进度条
  6. C#软件winform程序安装包制作及卸载程序制作
  7. UVA - 10098 - Generating Fast (枚举排列)
  8. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) B. Bear and Compressing
  9. 整理关于web项目如何防止CSRF和XSS攻击的方法
  10. SmartSql Cache标签
  11. 以太坊上发行ERC20代币
  12. 用ajax下载字节流形式的excel文件
  13. leetcode979
  14. MySQL数据库order by 奇慢无比
  15. 验证码识别 图像降噪 Python (一)
  16. IT职业发展攻略(技术仅是工具而已)
  17. while
  18. Vue.js学习笔记(一)
  19. MySQL join 使用方法
  20. ng2 quickstart

热门文章

  1. js 加密解密 TripleDES
  2. 【pwnable.kr】passcode
  3. bash: java: command not found
  4. statement 、prepareStatement的用法和解释
  5. LIS是什么?【通讯】
  6. (递归)P1192 台阶问题
  7. Java多线程之并发包,并发队列
  8. SSH限制与更改端口、限制ROOT方式登录
  9. css 字符过长...
  10. BZOJ 3170 [Tjoi2013]松鼠聚会