这是leetcode上的一个问题。 你在爬楼梯。它需要n步才能到达顶端。在
每次你可以爬1到2步。你能用多少种不同的方式爬到顶端?在
注:给定n为正整数。 为什么它显示了这一点?在
显示公司标记 显示标记
class Solution(object):
def climbStairs(self, n):
twostairtimes = math.floor(n/2)
result = 0
twostairresult = 0
while (twostairtimes>=0):
onestairtimes = n - (2 * twostairtimes)
if onestairtimes == 0:
result+=1
elif twostairtimes ==0:
result+=1
else:
result += self.jiecheng(n)/(self.jiecheng(twostairtimes)*self.jiecheng(onestairtimes))
result += 1
twostairtimes=twostairtimes-1
return result
def jiecheng(self,n):
c = 1
for i in range(n+1):
c *= i
return c
如果您确定
n
是一个integer
,请按如下方式进行转换:range(int(n+1))
将
twostairtimes = math.floor(n/2)
更改为twostairtimes = n//2
,或升级到python3。CG问题解决相关问题 更多 >
编程相关推荐