题目描述

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

思路分析

  1. 其实就是斐波那契数列,
  2. f(1)=1 f(2) =2 ,n= 3时,两种情况:
    • 青蛙先跳一个台阶,后面还有两个台阶,所以跳法就为f(2),
    • 青蛙先跳两个台阶,后面还有1个台阶,所以跳法就为f(1),
    • 综上 n=3 时 跳法为f(1)+f(2)

Java代码

public class Offer010_2 {
public static void main(String[] args) { }
public static int JumpFloor(int target) {
return Solution1(target);
} /**
* 解法一 斐波那契数列 非递归
* @param target
* @return
*/
private static int Solution1(int target) {
if(target == 1) {
return 1;
}
if(target ==2) {
return 2;
}
int fm2 = 1;
int fm1 = 2;
int fN = 0;
for(int i=3;i<=target;i++) {
fN =fm2+fm1;
fm2 = fm1;
fm1 = fN;
}
return fN;
} }

代码链接

剑指Offer代码-Java

最新文章

  1. HDU 5063 Operation the Sequence(仔细审题)
  2. DOCTYPE的重要性
  3. NSCache详解
  4. Spring MVC入门实战(一)
  5. iOS-UIView category
  6. 理解 Android Build 系统
  7. php -l 检查文件是否语法错误
  8. 使用userdel命令删除Linux用户
  9. 1048. Find Coins (25)
  10. Python之路,Day26-----暂无正在更新中
  11. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅶ(延伸:堆排序的实现)
  12. Mac和Xcode常用的快捷键
  13. Hadoop系列:(一)hdfs文件系统的基本操作
  14. 关于 Senparc.Weixin.Cache.Redis 引用的 StackExchange.Redis 版本不匹配的反馈测试
  15. vtime.hpp
  16. SpringBoot之基础
  17. 分布式队列celery 异步----Django框架中的使用
  18. Redhat学习(此为草稿,正式笔记之后存放)
  19. razor视图使用三元表达式
  20. Codechef STREDUC Reduce string Trie、bitset、区间DP

热门文章

  1. containerd与kubernetes集成
  2. 【Java例题】4.5异常处理
  3. java虚拟机学习笔记(四)---回收方法区
  4. Jersey用户指南学习笔记1
  5. Spring Boot 中的同一个 Bug,竟然把我坑了两次!
  6. vue+el-menu实现路由刷新和导航栏菜单状态保持(局部刷新页面)
  7. Z算法
  8. 100天搞定机器学习|Day35 深度学习之神经网络的结构
  9. java后端_百度一面
  10. R 实用命令 1