走楼梯问题

本文讨论了一道常见的面试题——跳台阶问题,即一个有n级台阶的楼梯,每次可以跳1级或2级,求有多少种跳法。作者首先介绍了错误的思路,然后详细解析了一个同事采用的动态规划思想,发现该问题实际上是斐波那契数列,给出了F(n) = F(n-1) + F(n-2)的公式。最后,作者分享了清华大学黄高峰关于解题策略的文章链接,探讨了包括降格、升格、分格和变格在内的四种解题思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

声明:题目来自: 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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值