声明:题目来自: http://blog.youkuaiyun.com/v_JULY_v/archive/2010/11/17/6015165.aspx JULY整理了100道微软等公司的面试题目,我想先不看答案:http://blog.youkuaiyun.com/v_JULY_v/archive/2011/01/10/6126406.aspx 自己先做一遍。
27. 跳台阶问题
题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。
求总共有多少总跳法,并分析算法的时间复杂度。
这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都
曾先后选用过个这道题作为面试题或者笔试题。
思路:
一开始我想到的方法就是排列组合,假设n是4,那可以跳1次2级,或者2次2级。跳1次2级,可以有3个位置(0代表地面,1代表第一个台阶,4代表第四个台阶,所以 这3个可以跳2级的位置分别是 0,1,2),可以写成C31 ,表示从3个位置里面选一个位置。跳2次2级的起跳位置呢?0,1,2都可以,那是不是从3个位置中选两个呢,这样的话C