青蛙跳臺階

一隻青蛙一次能夠跳上1級臺階,也能夠跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(前後次序不一樣算不一樣的結果)。函數

 

分析:假定跳n級臺階的方法是關於n的函數F(n),如今要跳n級臺階,若是最後一次跳了1步,那麼前面的(n-1)級有F(n - 1)種跳法;spa

若是最後一次跳了兩步,則前面的(n - 2)級有F(n - 2)種跳法,即F(n) =  F(n - 1) +  F(n - 2),n  >  2。(斐波那契數列)code

 1 namespace JianZhiOffer
 2 {
 3     class JumpFloor
 4     {
 5         public int jumpFloor(int number)
 6         {
 7             // write code here
 8             int one = 1;
 9             int two = 2;
10             int three = 0;
11 
12             if (number < 1)
13             {
14                 return 0;
15             }
16             else if (number == 1)
17             {
18                 return 1;
19             }
20             else if (number == 2)
21             {
22                 return 2;
23             }
24             else
25             {
26                 //return (jumpFloor(number - 1) + jumpFloor(number - 2));
27                 for (int i = 3; i <= number; i++)
28                 {
29                     three = one + two;
30                     one = two;
31                     two = three;
32                 }
33                 return three;
34             }
35         }
36     }
37 }
相關文章
相關標籤/搜索