当前位置: 首页 > news >正文

LeetCode讲解篇之2466. 统计构造好字符串的方案数

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

组成长度为i的字符串个数 = 组成长度为i - zero的字符串个数 + 组成长度为i - one的字符串个数
设数组f中i号元素的值为组成长度为i的字符串个数
则状态转移方程为f[i] = f[i - zero] + f[i - one],其中需要舍弃为负数的下标
最终我们计算完f中所有值后,计算f数组中[low, high]区间和就为此题的答案
我们需要注意在进行计算过程中要对1000000007取余

题解代码

func countGoodStrings(low int, high int, zero int, one int) int {
    f := make([]int, high + 1)
    f[0] = 1
    for i := 1; i <= high; i++ {
        if i >= zero {
            f[i] = f[i - zero]
        }
        if i >= one {
            f[i] += f[i - one]
        }

        f[i] = f[i] % 1000000007
    }

    ans := 0
    for i := low; i <= high; i++ {
        ans += f[i]
    }

    return ans % 1000000007
}

题目链接

https://leetcode.cn/problems/count-ways-to-build-good-strings/

相关文章:

  • 【机器学习基础】Transformer学习
  • USB启动盘制作工具
  • 网络安全自学入门:(超详细)从入门到精通学习路线规划,学完即可就业
  • 【C++】显示声明与隐式声明的使用与区别
  • Redission · 可重入锁(Reentrant Lock)
  • CSP-J/S 复赛算法 树形动态规划
  • 一文讲清楚退耦电容的位置摆放及其过孔设计
  • 零基础入门AI大模型应用开发,你需要一个系统的学习路径!
  • 鸿蒙next开发者第一课02.DevEcoStudio的使用-习题
  • 高效查找服务器漏洞
  • 利用 notepad++ 初步净化 HaE Linkfinder 规则所提取的内容(仅留下接口行)
  • 若依从redis中获取用户列表
  • Chrome 浏览器:现代网络浏览的先锋
  • 大厂笔试现已经禁用本地IDE怎么看
  • Electron Vue框架环境搭建 Vue3环境搭建
  • C++ 多线程
  • 2024双十一有什么值得买的好物?力荐五款好用不踩雷的好物推荐!
  • Python 3 和 MySQL(PyMySQL) 的集成使用
  • 脉冲神经网络(SNN)论文阅读(六)-----ECCV-2024 脉冲驱动的SNN目标检测框架:SpikeYOLO
  • 【大数据】Flink CDC 实时同步mysql数据
  • 欧阳娜娜携家人回江西探亲,受聘为江西吉安文化旅游大使
  • 韩国总统大选候选人登记结束,共7人参选
  • 特朗普将启的中东行会如何影响伊美核谈判?专家分析
  • 宣布停火后,印控克什米尔地区再次传出爆炸声
  • 云南多地突查公职人员违规饮酒:公安局门口开展酒精吹气测试
  • 【社论】职业上新,勇于“尝新”