https://leetcode-cn.com/problems/distinct-subsequences/
- 困难
- 中等
- 简单
思路
动态规划
class Solution {public:int numDistinct(string s, string t) {vector<vector<long>> dp(t.length() + 1, vector<long>(s.length() + 1));for (int i = 0; i < s.length(); i++) {dp[0][i] = 1;}// dp[i][j]表示t前i个字符可以由s的前j个组成的最多个数for (int i = 1; i <= t.length(); i++) {for (int j = 1; j <= s.length(); j++) {if (s[j-1] == t[i-1]) {dp[i][j] = dp[i][j-1] + dp[i-1][j-1];} else {dp[i][j] = dp[i][j-1];}}}return dp[t.length()][s.length()];}};
