LeetCode: Distinct Subsequences
来源:互联网 发布:淘宝双十一h5页面 编辑:程序博客网 时间:2024/05/15 23:47
思路:
标准的DP题目,设ret(i,j)表示 s(1)...s(i) 能够形成 t(1) ... t(j)子字符串的方式数目,则:
如果s(i) == t(j) , ret(i, j) = ret(i-1,j-1) + ret(i-1, j)
否则,ret(i, j) = ret(i-1, j)
code:
class Solution {public: int numDistinct(string S, string T) { int len1 = S.length(), len2 = T.length(); if(len2 > len1) return 0; vector<int> t(len2+1,0); vector<vector<int> > ret(len1+1,t); for(int i = 0;i <= len1;i++) ret[i][0] = 1; for(int i = 1;i <= len1;i++) for(int j = 1;j <= i && j <= len2;j++){ if(S[i-1] == T[j-1]) ret[i][j] = ret[i-1][j-1] + ret[i-1][j]; else ret[i][j] = ret[i-1][j]; } return ret[len1][len2]; }};
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
- scp命令在linux和windows之间互传文件
- JavaWeb学习笔记 第三记
- android 学习题6-比较好
- window和linux下,设置socket为阻塞模式
- 通过shell进行数学运算
- LeetCode: Distinct Subsequences
- 【AC自动机】 HDOJ 2825 Wireless Password
- UVA 10620 - A Flea on a Chessboard(鸽笼原理)
- android 复习7比较好
- MYSQL导入数据到TXT
- 会见teambition齐俊元
- 选择类排序——简单选择排序
- android复习7比较好
- html自我学习总结(不全面)