leetcode:115. Distinct Subsequences
来源:互联网 发布:广州淘宝服装加工厂 编辑:程序博客网 时间:2024/06/01 10:27
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
.
题意&解题思路:
找出S串中含有多少个T串,求子序列。典型的动态规划。
dp[i][j]表示在 S[0 ~ i-1] 中含有 dp[i][j] 个 T[0 ~ j-1]序列。假设已知 dp[i-1][j-1] 及 dp[i-1][j],则当 S[i-1] == T[j-1] 时dp[i][j] = dp[i-1][j-1] + dp[i-1][j] ,当 S[i-1] != T[j-1] 时dp[i][j] = dp[i-1][j] , 又当 j = 1 时,dp[i][j] = dp[i - 1][j] + (S[i-1] == T[j-1])。
class Solution {public: int numDistinct(string s, string t) { int ls = s.length(); int lt = t.length(); int dp[ls+1][lt+1]; memset(dp, 0, sizeof(dp)); for(int j = 1; j <= lt; j++){ for(int i = j; i <= ls; i++){ dp[i][j] = dp[i-1][j]; if(j == 1)dp[i][j] += (s[i - 1] == t[j - 1]); else { if(s[i - 1] == t[j - 1])dp[i][j] += dp[i - 1][j - 1]; } } } return dp[ls][lt]; }};
0 0
- LeetCode 115. Distinct Subsequences
- [Leetcode] 115. Distinct Subsequences
- [leetcode] 115.Distinct Subsequences
- [leetcode] 115.Distinct Subsequences
- Leetcode 115. Distinct Subsequences
- 【LeetCode】115. Distinct Subsequences
- LeetCode 115. Distinct Subsequences
- [leetcode]115. Distinct Subsequences
- LeetCode-115.Distinct Subsequences
- [LeetCode] 115. Distinct Subsequences
- LeetCode 115. Distinct Subsequences
- leetcode-115. Distinct Subsequences
- leetcode-115. Distinct Subsequences
- [LeetCode]115. Distinct Subsequences
- 【Leetcode】115. Distinct Subsequences
- [LeetCode] 115. Distinct Subsequences
- leetcode:115. Distinct Subsequences
- LeetCode 115. Distinct Subsequences
- Java面试
- 来自IOS开发工程师的零基础自学HTML5经验分享
- 请求Action的路径、参数设置及Struts2的Action向JSP传输List集合并且将数据显示在页面上
- Android分享时如何调用项目工程中的图片作为分享图标
- 【SSLGZ 1579】泽泽在巴西
- leetcode:115. Distinct Subsequences
- log4j2 vs logback
- windows申请免费SSL证书-Let's Encrypt
- Redis实践
- FlowDroid获取APK的函数调用图
- Webpack2 完整踩坑教程(三)
- 基于swoole扩展实现真正的PHP数据库连接池
- springmvc,freemarker模式下脚本注入问题
- 蓝桥杯【历届试题】九宫重排