【剑指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 };

 

posted @ 2020-04-25 18:23  刘小脑袋  阅读(129)  评论(0)    收藏  举报