【剑指Offer】008 青蛙跳台阶
题目链接:剑指Offer 第八题 牛客网
题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
思路:同斐波那契数列
首先找规律,当n=1,有一种跳法(不可以跳过头哦);当n=2,有两种跳法(1+1或2);当n=3,有三种跳法(1+1+1或1+2或2+1);同理,当n=4,有五种跳法;n=5,有八种跳法。
根据这个规矩,我们总结出他跟斐波那契数列是类似的:
class Solution {
public:
int jumpFloor(int number) {
if(number<=0)return -1;
if(number==1) return 1;
if(number==2)return 2;
int a=1,b=2,res=0;
for(int i=3;i<=number;i++)
{
res=a+b;
a=b;
b=res;
}
return res;
}
};
日期:2018/2/28-16:04