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

浙公网安备 33010602011771号