27.跳台阶问题

题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级。

求总共有多少总跳法,并分析算法的时间复杂度。

这道题最近经常出现,包括MicroStrategy 等比较重视算法的公司

都曾先后选用过个这道题作为面试题或者笔试题。

思路:
   这个题目是组合问题。第一步有两种走法跳1级,跳2级。设f(n)是台阶有n级的总共跳法,那么

  f(n) =   f(n-1) + f(n -2);

  这就划为fibonacci数的问题,对于求fibonacci数的问题,在19题有说明,其复杂度是O(lgn)。

代码见 19题。

点赞