Distinct Subsequences leetcode
来源:互联网 发布:算法复杂性影响因素 编辑:程序博客网 时间:2024/06/07 07:32
Given a string S and a string T, count the number of distinct subsequences of T in S.
A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie, "ACE"
is a subsequence of "ABCDE"
while "AEC"
is not).
Here is an example:
S = "rabbbit"
, T = "rabbit"
Return 3
.
动态规划,设dp[i][j]是从字符串S[0...i]中删除几个字符得到字符串T[0...j]的不同的删除方法种类,有上面递归的分析可知,动态规划方程如下
- 如果S[i] = T[j], dp[i][j] = dp[i-1][j-1]+dp[i-1][j]
- 如果S[i] 不等于 T[j], dp[i][j] = dp[i-1][j]
- 初始条件:当T为空字符串时,从任意的S删除几个字符得到T的方法为1
class Solution {public: int numDistinct(string S, string T) { int lenS = S.size(); int lenT = T.size(); if(lenS == 0) return 0; else if(lenT == 0) return 1; vector<vector<int> > dp(lenS+1,vector<int>(lenT+1,0)); for(int i=0;i<=lenS;i++) dp[i][0] = 1; for(int i=1;i<=lenS;i++) { for(int j=1;j<=lenT;j++) { if(S[i-1] ==T[j-1]) { dp[i][j] = dp[i-1][j-1] + dp[i-1][j]; } else { dp[i][j] = dp[i-1][j]; } } } return dp[lenS][lenT]; }};
0 0
- LeetCode Distinct Subsequences
- [LeetCode]Distinct Subsequences
- [Leetcode] Distinct Subsequences *
- [leetcode] Distinct Subsequences
- [LeetCode] Distinct Subsequences
- [Leetcode] Distinct Subsequences
- leetcode 111: Distinct Subsequences
- LeetCode Distinct Subsequences
- [leetcode] Distinct Subsequences
- LeetCode - Distinct Subsequences
- Leetcode:Distinct Subsequences
- [LeetCode]Distinct Subsequences
- [LeetCode] Distinct Subsequences
- [Leetcode]Distinct Subsequences
- [leetcode]Distinct Subsequences
- Leetcode: Distinct Subsequences
- Leetcode: Distinct Subsequences
- [leetcode] Distinct Subsequences
- 并发的着眼点
- 设计模式(二)---工厂方法模式
- ubuntu12.04.4添加静态DNS并更改默认源为163源
- 嵌入式MCU多功能的USART--基本串口功能
- android示例之SQLite基础——事务
- Distinct Subsequences leetcode
- Cocos2dx 利用ClippingNode 做遮罩
- sizeof计算二维数组长度的问题
- bzoj 1726: [Usaco2006 Nov]Roadblocks第二短路
- B树索引
- [题目] Section 1.2 Milking Cows(USACO)
- 是什么影响了你的速度?802.11g
- KMP
- bzoj 1029: [JSOI2007]建筑抢修