920. Number of Music Playlists
https://leetcode.com/problems/number-of-music-playlists/
/*
* @lc app=leetcode id=920 lang=cpp
*
* [920] Number of Music Playlists
*/
// @lc code=start
class Solution {
public:
int numMusicPlaylists(int N, int L, int K) {
const long M = 1e9 + 7;
vector<vector<long>> dp(L + 1, vector<long>(N + 1));
dp[0][0] = 1;
for (int i = 1; i <= L; ++i) {
for (int j = 1; j <= min(i, N); ++j) {
// Add new song or not.
dp[i][j] = dp[i - 1][j - 1] * (N - (j - 1)) % M + dp[i - 1][j] * max(j - K, 0) % M;
dp[i][j] %= M;
}
}
return dp[L][N];
}
};
// @lc code=end
Last updated