leetcode 115. 不同的子序列

题目如下

数据范围

复制代码
这道题和leetcode 3290. 最高乘法得分有异曲同工之妙同样是考虑两个序列。思路见下面文章

leetcode 3290. 最高乘法得分

cpp 复制代码
class Solution {
public:
    int numDistinct(string s, string t) {
        int n = t.size(),m = s.size();
        if(m < n)return 0;
        if(m == n && s != t)return 0;
        int mod = 1e9 + 7;
        vector<vector<int>> dp(n + 1,vector<int>(m + 1,0));
        dp[0][0] = 1;
        for(int i = 0;i <= m;i++)dp[0][i] = 1;
        for(int i = 1;i <= n;i++){
            for(int j = 1;j <= m;j++){
                if(s[j - 1] == t[i - 1]){
                    dp[i][j] = dp[i - 1][j - 1];
                }
                dp[i][j] = (dp[i][j] + dp[i][j - 1]) % mod;
             //   cout << dp[i][j] << " ";
            }
         //   cout << endl;
        }
        return dp[n][m];

    }
};
相关推荐
张张努力变强7 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
万岳科技系统开发7 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
小镇敲码人7 小时前
探索CANN框架中TBE仓库:张量加速引擎的优化之道
c++·华为·acl·cann·ops-nn
wWYy.7 小时前
数组快排 链表归并
数据结构·链表
张登杰踩7 小时前
MCR ALS 多元曲线分辨算法详解
算法
平安的平安7 小时前
面向大模型算子开发的高效编程范式PyPTO深度解析
c++·mfc
June`7 小时前
muduo项目排查错误+测试
linux·c++·github·muduo网络库
C++ 老炮儿的技术栈7 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
YuTaoShao7 小时前
【LeetCode 每日一题】3634. 使数组平衡的最少移除数目——(解法一)排序+滑动窗口
算法·leetcode·排序算法
Once_day7 小时前
C++之《Effective C++》读书总结(4)
c语言·c++·effective c++