经典指数          
原因
2412
浏览数
0
收藏数
 

青蛙跳台阶算法,每次可以跳1级或两级,请问有n级台阶,有多少种算法,递归和非递归如何写

     举报   纠错  
 
切换
1 个答案

递归实现:

public int JumpFloor(int n)      {          if (n <

0)              return 0;          int[] fibArry = { 0, 1, 2

};          if (n < 3)              return fibArry[n];

         return JumpFloor(n - 1) + JumpFloor(n - 2);      }

 

非递归实现:

public int JumpFloor(int n)         {             if (n

< 0)                 return 0;             int[] fibArry =

{ 0, 1,2 };             if (n < 3)                 return

fibArry[n];             long nReturn = 0L;             long

fibFirst=1L;             long fibTow=2L;             for (int

i = 3; i <= n; i++)             {                 nReturn =

fibFirst + fibTow;                 fibFirst=fibTow ;

                fibTow = nReturn;             }            

return nReturn;         }

 
切换
撰写答案