本文主要是介绍[LeetCode] 70. Climbing Stairs @ python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.题目:
爬一个n层的楼梯,每一次可以爬两层或者一层,请问到达楼梯顶部时一共有多少种走法?
二.解题思路:
很显然,这是一道很简单的动态规划题.dp[i]表示爬到第i层时的走法,有状态转移方程为
dp[i] = dp[i-1]+dp[i-2]
所以代码如下:
class Solution(object):def climbStairs(self, n):""":type n: int:rtype: int"""if n==1:return 1if n==2:return 2dp = [1 for i in range(n)]dp[1] = 2for i in range(2,n):dp[i] = dp[i-1] +dp[i-2]return dp[n-1]
这篇关于[LeetCode] 70. Climbing Stairs @ python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!