本文共 684 字,大约阅读时间需要 2 分钟。
1.问题描述:
假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
2.样例:
比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法
返回 3
3.代码:
递归版本
class Solution: """ @param n: An integer @return: An integer """ def climbStairs(self, n): # write your code here if n==0 or n==1: return 1 return self.climbStairs(n-1)+self.climbStairs(n-2)
非递归版本
class Solution: """ @param n: An integer @return: An integer """ def climbStairs(self, n): # write your code here a=[] a.append(1) a.append(1) for i in range(2,n+1,1): a.append(a[i-1]+a[i-2]) if n==0: return 0 else: return a[n]
转载地址:http://gouii.baihongyu.com/