您的位置:首页 > 大数据 > 人工智能

70. Climbing Stairs

2017-09-13 17:09 267 查看
爬楼梯问题:假设你正在爬楼梯,可以在n步之内到达顶端,但每次你只能爬1步或2步,求到达顶端的不同方法的个数。



这道题的第一个解法是我无意间发现的,我从n=1算到n=4,发现答案其实是一个斐波那契数列,所以就有递归和循环两种解法,亲测递归的解法会发生超时,所以这里不再给出递归的解法。



第一种方法的提交结果如图所示,感觉一般般。



第二种解法是基于动态规划的思想:

当n=1,ways=1

当n=2,ways=2

当n=3,ways=3

.....

当n=k,ways(k)=ways(k-1)+ways(k-2)

于是第二种解法是基于动态规划的方法:



这种方法的提交结果如图所示,感觉效果还是一般般把。



感觉方法都是正确的,至于为什么效率这么低,考虑到可能是编程语言的问题,换了下C语言,同样的动态规划的算法的结果如图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: