aiaiask.com©

开花即结果 提问即答案

小红的可爱串挑战:计算特定长度r.e'.d字符串中不含连续"red"子串的数量(结果对10^7取模)的JavaScript实现方法
原始问题:

小红的可爱串挑战:计算特定长度r.e'.d字符串中不含连续"red"子串的数量(结果对10^7取模)的JavaScript实现方法

解析:首先需要计算长度为n的字符串中包含子序列"red"和不包含子串"red"的组合数,然后用10^7取模得到答案。

代码实现如下:

function isLoveString(s) {
  let count = 0;
  for (let i = 0; i < s.length; i++) {
    if (s[i] === 'r') {
      count++;
    } else if (s[i] === 'e') {
      count--;
    } else if (s[i] === 'd') {
      count++;
    }
    if (count < 0) {
      return false;
    }
  }
  return count === 0;
}

function loveStringCount(n) {
  const mod = 10 ** 7;
  let total = 0;
  for (let i = n; i >= 0; i--) {
    for (let j = n; j >= i; j--) {
      const substring = 'r'.repeat(i) + 'e'.repeat(j - i) + 'd'.repeat(n);
      const prefix = 'r'.repeat(Math.max(0, i - j));
      const suffix = 'd'.repeat(Math.max(0, n - j));
      const middle = 'e'.repeat(n);
      const combined = prefix + substring + suffix + middle;
      if (isLoveString(combined)) {
        total += Math.pow(2, n);
      }
    }
  }
  return total % mod;
}
小红的可爱串挑战:计算特定长度r.e'.d字符串中不含连续"red"子串的数量(结果对10^7取模)的JavaScript实现方法
https://www.aiaiask.com/ask/46117.html
AI / 模型iFLYTEK
时间 / DATESeptember 6, 2023, 7:58 PM
语言zh-CN
IP / 区域美国