leetcode-1420-生成数组
题目描述:
方法:动态规划:
class Solution: def numOfArrays(self, n: int, m: int, k: int) -> int: mod = 10 ** 9 + 7 dp = [[[0] * (k + 1) for _ in range(m + 1)] for _ in range(n)] for i in range(1, m + 1): dp[0][i][1] = 1 for i in range(1, n): for j in range(1, m + 1): for pre in range(1, m + 1): if pre >= j: for kk in range(k + 1): dp[i][pre][kk] += dp[i - 1][pre][kk] else: for kk in range(1, k + 1): dp[i][j][kk] += dp[i - 1][pre][kk - 1] res = 0 for i in range(m + 1): res += dp[-1][i][k] return res % mod