leetcode 2466. 统计构造好字符串的方案数

题目如下

数据范围

复制代码
本题就是加了马甲的跳格子问题即一次能选择跳zero格或者one格(注意这两个不是定值,不是翻译成0和1它们只是代表能跳几格)

我们令f(i)为从第0格跳到i格的路径数(也就是好串有几个)显然如果存在的话:
f(i) = f(i - zero) + f(i - one)。

通过代码

cpp 复制代码
class Solution {
public:
    int countGoodStrings(int low, int high, int zero, int one) {
        vector<int> n(high + 1,0);
        long long mod = 1e9 + 7,ans = 0;
        n[zero] += 1;
        n[one] += 1;
        for(int i = 1;i <= high;i++){
            if(i - one >= 0)n[i] = (n[i] + n[i - one]) % mod;
            if(i - zero >= 0)n[i] = (n[i] + n[i - zero]) % mod;;
        }
        for(int i = low;i <= high;i++){
            ans = (ans + n[i]) % mod;
        }
        return ans; 
    }
};
相关推荐
酷酷的崽79820 分钟前
【链表世界的深度探索:从基础到高阶的算法解读】—— LeetCode
算法·leetcode·链表
谁怕?一蓑烟雨任平生22 分钟前
数据结构——栈和队列
数据结构·c++
梦醒沉醉41 分钟前
C++和标准库速成(五)——C风格的数组、std::array、std::vector、std::pair和std::optional
c++
蒙奇D索大1 小时前
【数据结构】如何解决二叉树在遍历查找前驱与后继的问题?线索二叉树来帮您……
c语言·数据结构·考研
ん贤2 小时前
【数据结构】栈与队列:基础 + 竞赛高频算法实操(含代码实现)
java·数据结构·c++·算法
JCBP_2 小时前
C语言经典代码题
c语言·开发语言·汇编·vscode·算法
萧萧玉树2 小时前
设计模式-单一职责
开发语言·c++·设计模式
小林熬夜学编程2 小时前
【高并发内存池】第一弹---深入解析内存池:项目介绍、原理及设计定长内存池全攻略
linux·服务器·c语言·开发语言·c++·算法
郭涤生2 小时前
Chapter 2:auto_《Effective Modern C++》notes
开发语言·c++·笔记
这一wa是晚安3 小时前
4.数据结构-树和二叉树
数据结构