【力扣 困难 C】940. 不同的子序列 II

目录

题目

解法一:动态规划


题目

待添加

解法一:动态规划

int distinctSubseqII(char* s) {
    int dp[26] = {0};

    int cnt = 1;
    int len = strlen(s);
    for (int i = 0; i < len; i++) {
        int new = (cnt - dp[s[i] - 'a'] + 1000000007) % 1000000007;
        cnt = (cnt + new) % 1000000007;
        dp[s[i] - 'a'] = (dp[s[i] - 'a'] + new) % 1000000007;
    }
    return (cnt - 1 + 1000000007) % 1000000007;
}

你可能感兴趣的:(c语言,leetcode,数据结构,算法,开发语言)