力扣链接:2466.统计构造好字符串的方案数
难度:⭐⭐
解题关键词:动态规划
解题思路:这道题就像青蛙跳台阶一样,只不过没规定一次能跳几个台阶,而是给了两个变量。
typescript
var countGoodStrings = function (low, high, zero, one) {
const mod = 1e9 + 7;
let ans = 0;
let f = Array(high + 1).fill(0); // f[i] 表示构造长为 i 的字符串的方案数
f[0] = 1; // 构造空串的方案数为 1
for (let i = 1; i <= high; i++) {
if (i >= one) f[i] += f[i - one] % mod;
if (i >= zero) f[i] += f[i - zero] % mod;
if (i >= low) ans = (ans + f[i]) % mod;
}
return ans;
};