cs: add «2466. Count Ways To Build Good Strings»
URL: https://leetcode.com/problems/count-ways-to-build-good-strings/ Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
parent
97906d6431
commit
5cc859c6b4
1 changed files with 28 additions and 0 deletions
28
cs/count-ways-to-build-good-strings.cs
Normal file
28
cs/count-ways-to-build-good-strings.cs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
public class Solution {
|
||||||
|
private static readonly int MOD = 1_000_000_007;
|
||||||
|
|
||||||
|
public int CountGoodStrings(int low, int high, int zero, int one) {
|
||||||
|
var dp = new int[high + 1];
|
||||||
|
dp[0] = 1;
|
||||||
|
|
||||||
|
for (var end = 1; end <= high; ++end) {
|
||||||
|
if (end >= zero) {
|
||||||
|
dp[end] += dp[end - zero];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (end >= one) {
|
||||||
|
dp[end] += dp[end - one];
|
||||||
|
}
|
||||||
|
|
||||||
|
dp[end] %= MOD;
|
||||||
|
}
|
||||||
|
|
||||||
|
var good = 0;
|
||||||
|
for (var length = low; length <= high; ++length) {
|
||||||
|
good += dp[length];
|
||||||
|
good %= MOD;
|
||||||
|
}
|
||||||
|
|
||||||
|
return good;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue