Class Solution
-
- All Implemented Interfaces:
public final class Solution1223 - Dice Roll Simulation\.
Hard
A die simulator generates a random number from
1to6for each roll. You introduced a constraint to the generator such that it cannot roll the numberimore thanrollMax[i]( 1-indexed ) consecutive times.Given an array of integers
rollMaxand an integern, return the number of distinct sequences that can be obtained with exactnrolls. Since the answer may be too large, return it modulo <code>10<sup>9</sup> + 7</code>.Two sequences are considered different if at least one element differs from each other.
Example 1:
Input: n = 2, rollMax = 1,1,2,2,2,3
Output: 34
Explanation: There will be 2 rolls of die, if there are no constraints on the die, there are 6 \* 6 = 36 possible combinations. In this case, looking at rollMax array, the numbers 1 and 2 appear at most once consecutively, therefore sequences (1,1) and (2,2) cannot occur, so the final answer is 36-2 = 34.
Example 2:
Input: n = 2, rollMax = 1,1,1,1,1,1
Output: 30
Example 3:
Input: n = 3, rollMax = 1,1,1,2,2,3
Output: 181
Constraints:
1 <= n <= 5000rollMax.length == 61 <= rollMax[i] <= 15
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegerdieSimulator(Integer n, IntArray rollMax)-
-
Method Detail
-
dieSimulator
final Integer dieSimulator(Integer n, IntArray rollMax)
-
-
-
-