跳台阶问题(Fabonacci问题)
2016-03-03 14:52
260 查看
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution { public: int jumpFloor(int number) { if(number==1) return 1; if(number==2) return 2; long long temp2 = 1; long long temp1 = 2; long long temp =0; for(int i=3;i<=number;i++){ temp = temp1+temp2; temp2 = temp1; temp1 = temp; } return temp; } };
改变题目:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。用数学归纳法,可得f(n)=2^(n-1)
class Solution { public: int jumpFloorII(int number) { int result = 1; for(int i=1;i<number;i++) result *=2; return result; } };
相关文章推荐
- HTTP协议之multipart/form-data请求分析
- GUI.BeginScrollView
- android 模拟器 模拟home 键的快捷键
- The import android.webkit.CacheManager cannot be resolved
- Java多线程之concurrent包(六)——CountDownLatch
- Hdu 1540
- 欢迎使用CSDN-markdown编辑器
- C++获得主机IP地址
- 关于java.lang.reflect.MalformedParameterizedTypeException错误的问题
- 初识Spark 1.6.0
- xrdp 实现Windows 远程桌面 Ubuntu Linux
- happens-before俗解
- linux 如何配置ip地址
- 系列文章--8天学通MongoDB
- android: SQLite查询数据
- ctype.h 字符分类与转换
- 设计模式之状态模式
- hue笔记
- Android开发中,变色状态栏
- 欢迎使用CSDN-markdown编辑器