python

超轻量级php框架startmvc

Python3爬楼梯算法示例

更新时间:2020-06-26 16:30 作者:startmvc
本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下:假设你正在爬楼梯

本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下:

假设你正在爬楼梯。需要 n 步你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

方案一:每一步都是前两步和前一步的和


class Solution(object):
 def climbStairs(self, n):
 """
 :type n: int
 :rtype: int
 """
 pre, cur = 1, 1
 for i in range(1,n):
 pre,cur = cur,pre+cur
 return cur
#测试
tmp = Solution()
print(tmp.climbStairs(10))

运行结果:

89

方案二:用列表记录每个n对应的值,最后的n取最后一个值即可


class Solution(object):
 def climbStairs(self, n):
 """
 :type n: int
 :rtype: int
 """
 if n == 1:
 return 1
 if n == 2:
 return 2
 res = [1, 2]
 for i in range(2, n):
 res.append(res[i - 1] + res[i - 2])
 return res[-1]
#测试
tmp = Solution()
print(tmp.climbStairs(10))

运行结果:

89