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];

    }
};
相关推荐
源代码•宸17 分钟前
深入浅出设计模式——创建型模式之建造者模式 Builder
c++·经验分享·设计模式·建造者模式
roman_日积跬步-终至千里1 小时前
【机器学习】两大线性分类算法:逻辑回归与线性判别分析:找到分界线的艺术
算法·机器学习·分类
YuTaoShao1 小时前
【LeetCode 热题 100】739. 每日温度——(解法一)单调栈+从右到左
java·算法·leetcode·职场和发展
itgather1 小时前
智能图书馆管理系统开发实战系列(五):前后端集成 - koffi调用与接口设计
c++·koffi
Spider_Man1 小时前
栈中藏玄机:从温度到雨水,单调栈的逆袭之路
javascript·算法·leetcode
爱吃KFC的大肥羊2 小时前
C/C++常用字符串函数
c语言·数据结构·c++·算法
im_AMBER2 小时前
Leetcode 11 java
java·算法·leetcode
丶小鱼丶2 小时前
二叉树算法之【Z字型层序遍历】
java·算法
武文斌773 小时前
嵌入式——数据结构:基础知识和链表①
数据结构
岁忧4 小时前
(nice!!!)(LeetCode 每日一题) 2561. 重排水果 (哈希表 + 贪心)
java·c++·算法·leetcode·go·散列表