<span>跳台阶问题(Fabonacci问题)</span>

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
 
 1 class Solution {
 2 public:
 3     int jumpFloor(int number) {
 4         if(number==1)
 5             return 1;
 6         if(number==2)
 7             return 2;
 8         long long temp2 = 1;
 9         long long temp1 = 2;
10         long long temp =0;
11         for(int i=3;i<=number;i++){
12             temp = temp1+temp2;
13             temp2 = temp1;
14             temp1 = temp;
15         }
16         return temp;
17     }
18 };

 

改变题目:

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
用数学归纳法,可得f(n)=2^(n-1)
1 class Solution {
2 public:
3     int jumpFloorII(int number) {
4         int result = 1;
5         for(int i=1;i<number;i++)
6             result *=2;
7         return result;
8     }
9 };

 

全部评论

相关推荐

菜鸡29号:根据已有信息能初步得出以下几点: 1、硕士排了大本和大专 2、要求会多语言要么是招人很挑剔要么就是干的活杂 3、给出校招薪资范围过于巨大,说明里面的薪资制度(包括涨薪)可能有大坑
点赞 评论 收藏
分享
程序员鼠鼠_春招版:都很烂大街,rpc也基本没人问,考研吧,不然就包装一段实习再去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务