题目:原题链接(困难)
标签:动态规划
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N K ) O(NK) O(NK) | O ( N K ) O(NK) O(NK) | 3620ms (57.89%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
MOD = 10 ** 9 + 7
class Solution:
def waysToDistribute(self, n: int, k: int) -> int:
# dp[i][j] 将i个糖果放进j个袋子的方案数
dp = [[0] * (k + 1) for _ in range(n + 1)]
for j in range(1, k + 1):
dp[j][j] = 1
for i in range(j + 1, n + 1):
dp[i][j] = (dp[i - 1][j] * j + dp[i - 1][j - 1]) % MOD
return dp[-1][-1]