[LeetCode]Distinct Subsequences
2014-03-11 19:39
281 查看
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,
Here is an example:
S =
Return
思考:DP。
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。
class Solution { public: int numDistinct(string S, string T) { int slen = S.size(); int tlen = T.size(); vector<vector<int> > dp(tlen + 1, vector<int>(slen + 1, 0)); for(int i = 0; i <= slen; ++i) dp[0][i] = 1; for(int i = 1; i <= tlen; ++i) { for(int j = 1; j <= slen; ++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[tlen][slen]; } };
相关文章推荐
- 字符串中某子序列的个数 Distinct Subsequences
- 架构:Hexagonal Architecture Guidelines for Rails(转载)
- grub rescue 拯救系统启动
- HDU 2187 A sequence of numbers
- UIViewController与UISplitViewController之间的切换
- How to insert double and float values to sqlite?如何向sqlite插入double和float型数据
- cygwin 批处理 运行 build_native.sh
- Android详细的对话框AlertDialog.Builder使用方法
- ios7的UITableVIew按字母排序的索引怎么改成背景是透明的?
- easyui editor的用法
- ArrayBlockingQueue调度多线程demo
- iOS动画-UIKitAnimation
- string,stringbuffer,stringbuilder区别
- java.util.Queue用法
- (转)Java Ant build.xml详解
- 实用资源-20个注册登录界面PSD
- NGUI3.5系列教程之 一些小功能的实现
- NGUI制作密码输入框
- string,stringbuffer,stringbuilder区别
- UITableView中的部分设置