問一下,我這個解法有啥問題,n比較小的時候基本上沒問題,數大起來了之后就出問題了
一.題目:

二.解法:
class Solution:
def numWays(self, n: int) -> int:
steps = int(n / 2)
nums = 0
for step in range(steps + 1):
tstep = n - step * 2 + step
nums += self.c(tstep,step)
return int(nums % 1000000007)
def c(self,n,m):
"""
求組合數
"""
return int(math.factorial(n) / (math.factorial(m) * math.factorial(n - m))) % 1000000007
uj5u.com熱心網友回復:
不是(n-1) +(n-2)的數量嗎?為什么要這么復雜uj5u.com熱心網友回復:
這也不復雜啊,不就是一個排列組合問題嗎uj5u.com熱心網友回復:
是不是這個意思?def f(n):
l = [0,1]
for i in range(1,n+1):
l = [l[1],sum(l)]
return l
print(f(7)[1])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/34902.html
上一篇:python and PLSQL
