![在这里插入图片描述](https://img-blog.csdnimg.cn/20200309141013805.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTAyNTY3OQ==,size_16,color_FFFFFF,t_70)
状态转移函数
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200309141258733.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTAyNTY3OQ==,size_16,color_FFFFFF,t_70)
代码
此方法具有优化时间复杂度,但空间复杂度较大
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200309141442222.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTAyNTY3OQ==,size_16,color_FFFFFF,t_70)
优化空间,使用2个变量
class Solution:
def climbStairs(self, n: int) -> int:
if n == 1:
return 1
left = 1;right = 2
for i in range(2,n):
left,right =right, left + right
return right
https://leetcode-cn.com/problems/climbing-stairs/submissions/