剑指offer:跳台阶

Posted smartheadliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer:跳台阶相关的知识,希望对你有一定的参考价值。

1. 递归

可过,耗时长。

 1 class Solution {
 2 public:
 3     int jumpFloor(int number) {
 4         if(number==0)
 5             return 0;
 6         if(number==1)
 7             return 1;
 8         if(number==2)
 9             return 2;
10         if(number>2)
11             return jumpFloor(number-1)+jumpFloor(number-2); 
12     }
13 };

2. 用循环

类似于斐波那契数列

 1 class Solution {
 2 public:
 3     int jumpFloor(int number) {
 4         if(number==0)
 5             return 0;
 6         if(number==1)
 7             return 1;
 8         if(number==2)
 9             return 2;
10         int m=2,n=1;
11         while(number-3>=0)
12         {
13             m=m+n;
14             n=m-n;
15             number--;
16         }
17         return m;
18     }
19 };

 

以上是关于剑指offer:跳台阶的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer:变态跳台阶

剑指Offer 跳台阶

剑指offer 变态跳台阶

剑指offer 跳台阶

剑指offer:跳台阶

剑指OFFER变态跳台阶