940.不同的子序列 II
不同的子序列 II
给定一个字符串 s,返回 s 的不同非空子序列的个数。
由于答案可能很大,请返回答案模 10^9 + 7。
示例 1:
输入:s = “abc”
输出:7
示例 2:
输入:s = “aba”
输出:6
提示:
- 1 <= s.length <= 2000
- s 由小写英文字母组成
解析
使用动态规划,dp[i] 表示以 s[i] 结尾的不同子序列个数。维护每个字符最后出现的位置。
1 | var distinctSubseqII = function (s) { |
时间复杂度 O(n * 26),空间复杂度 O(n)。
940.不同的子序列 II
https://leetcode.lz5z.com/940.distinct-subsequences-ii/