Skip to content

力扣链接: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;
};