python爬楼梯

力扣练习题:
爬楼梯程序:
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

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

方法1:
动态规划法:
第 i 阶的可以有 i-1 和 i -2 得到,所以第 i 阶的总数是由这两个相加得到。令 dp[i] 表示能到达第 i阶的方法总数:dp[i] = dp[i-1] +dp[i-2]`

class Solution:     
  def climbStairs(self, n: int) -> int:       
   dp = []        
   dp.append(1)         
   dp.append(2)        
   if n==1:            
   	return 1        
   if n==2:            
   	return 2        
   for i in range(2,n):            
   	dp.append(dp[i-1]+dp[i-2])					                    	     
   return dp[-1]




猜你喜欢

转载自blog.csdn.net/qq_42580533/article/details/102870036