Ai
1 Star 2 Fork 5

LilithSangreal/LeetCode-Solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
number-of-music-playlists.py 611 Bytes
一键复制 编辑 原始数据 按行查看 历史
Allen Liu 提交于 2018-10-12 01:33 +08:00 . remove sensitive question description
# Time: O(n * l)
# Space: O(l)
class Solution(object):
def numMusicPlaylists(self, N, L, K):
"""
:type N: int
:type L: int
:type K: int
:rtype: int
"""
M = 10**9+7
dp = [[0 for _ in xrange(1+L)] for _ in xrange(2)]
dp[0][0] = dp[1][1] = 1
for n in xrange(1, N+1):
dp[n % 2][n] = (dp[(n-1) % 2][n-1] * n) % M
for l in xrange(n+1, L+1):
dp[n % 2][l] = ((dp[n % 2][l-1] * max(n-K, 0)) % M + \
(dp[(n-1) % 2][l-1] * n) % M) % M
return dp[N % 2][L]
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/LilithSangreal/LeetCode-Solutions.git
git@gitee.com:LilithSangreal/LeetCode-Solutions.git
LilithSangreal
LeetCode-Solutions
LeetCode-Solutions
master

搜索帮助