题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级。
求总共有多少总跳法,并分析算法的时间复杂度。
都曾先后选用过个这道题作为面试题或者笔试题。
思路:
这个题目是组合问题。第一步有两种走法跳1级,跳2级。设f(n)是台阶有n级的总共跳法,那么
f(n) = f(n-1) + f(n -2);
这就划为fibonacci数的问题,对于求fibonacci数的问题,在19题有说明,其复杂度是O(lgn)。
代码见 19题。
本文详细解析了一个常见的跳台阶问题,通过将其转化为Fibonacci数列来解决,同时分析了算法的时间复杂度为O(lgn)。MicroStrategy等公司曾将此题用于面试或笔试,具有较高的实际应用价值。
1360

被折叠的 条评论
为什么被折叠?



