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

LeetCode Climbing Stairs 爬楼梯

2014-11-24 18:58 465 查看
题意:

  一个人在爬楼梯,此楼梯共有n个台阶,每次可以跨1步或者两步。问有多少种方案走完n个台阶?

思路:

  当n=1时,返回1;

  当n=2时,返回2。

  当n>3时,要返回的是n-1和n-2所要返回的数之和。比如n=3,那么就返回1+2的值,n=4,返回3+2。类推下去。

  其实这是“斐波那契数列”,通常方法就是递归/迭代。

C++

  递归

class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
p=[0,1]
while n:
n-=1
p[0],p[1]=p[1],p[0]+p[1]
return p[1]


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