当前位置:网站首页>LeetCode: Distinct Subsequences [115]
LeetCode: Distinct Subsequences [115]
2022-07-05 20:47:00 【全栈程序员站长】
大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。
【称号】
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,通过删除S中的若干个字符能够得到T,则T称为S的子序列。问有多少种删法能够得到T
【思路】
DP问题。 定义A[i][j] (i>j)表示S[1…i]转化到T[1…j]的方式数(操作类型仅仅有一种。那就是从S中删除若干字符)。 转换方程例如以下: 假设S[i]==T[j], A[i][j]=A[i-1][j-1]+A[i-1][j]; 假设S[i]!=T[j], A[i][j]=A[i-1][j]; 初始化矩阵 起始点A[0][0]=1; 第一行A[0][i]=0; 第一列A[i][j]=1;
【代码】
class Solution {
public:
int numDistinct(string S, string T) {
if(S.length()==0 || S.length()==0)return 0;
if(S.length()<T.length())return 0; //假设S==T,返回1, 觉得有1种转换方式
vector<vector<int> >matrix(S.length()+1, vector<int>(T.length()+1, 0));
//初始化matrix[0][0]
matrix[0][0]=1;
//初始化对角线
for(int j=1; j<=T.length(); j++)
matrix[0][j]=0;
//初始化第一列
for(int i=1; i<=S.length(); i++)
matrix[i][0]=1;
//考虑其它i>j的情况
for(int i=1; i<=S.length(); i++){
for(int j=1; j<=T.length(); j++){
if(S[i-1]==T[j-1])matrix[i][j]=matrix[i-1][j-1]+matrix[i-1][j];
else matrix[i][j]=matrix[i-1][j];
}
}
return matrix[S.length()][T.length()];
}
};版权声明:本文博客原创文章。博客,未经同意,不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117649.html原文链接:https://javaforall.cn
边栏推荐
- 小程序全局配置
- 小程序代码的构成
- Implementation of redis unique ID generator
- 【愚公系列】2022年7月 Go教学课程 004-Go代码注释
- Wanglaoji pharmaceutical's public welfare activity of "caring for the most lovely people under the scorching sun" was launched in Nanjing
- Frequent MySQL operations cause table locking problems
- Ros2 topic [01]: installing ros2 on win10
- 解析创客教育的知识迁移和分享精神
- Abnova丨E (DIII) (WNV) 重组蛋白 中英文说明书
- ts 之 泛型
猜你喜欢

线程池的使用

leetcode:1139. 最大的以 1 为边界的正方形

Kubernetes resource object introduction and common commands (V) - (configmap & Secret)

教你自己训练的pytorch模型转caffe(二)

National Eye Care Education Conference, 2022 the Fourth Beijing International Youth eye health industry exhibition

当Steam教育进入个性化信息技术课程

Abnova e (diii) (WNV) recombinant protein Chinese and English instructions

中国的软件公司为什么做不出产品?00后抛弃互联网;B站开源的高性能API网关组件|码农周刊VIP会员专属邮件周报 Vol.097

【刷题记录】1. 两数之和

When steam education enters personalized information technology courses
随机推荐
AI automatically generates annotation documents from code
Duchefa p1001 plant agar Chinese and English instructions
Hongmeng OS' fourth learning
[quick start of Digital IC Verification] 2. Through an example of SOC project, understand the architecture of SOC and explore the design process of digital system
Wanglaoji pharmaceutical's public welfare activity of "caring for the most lovely people under the scorching sun" was launched in Nanjing
MySQL InnoDB架构原理
Norgen AAV提取剂盒说明书(含特色)
Propping of resources
Abnova丨E (DIII) (WNV) 重组蛋白 中英文说明书
Abnova total RNA Purification Kit for cultured cells Chinese and English instructions
10000+ 代码库、3000+ 研发人员大型保险集团的研发效能提升实践
线程池的使用
E. Singhal and numbers (prime factor decomposition)
科普|英语不好对NPDP考试有影响吗 ?
ProSci LAG-3 重组蛋白说明书
Prosci LAG-3 recombinant protein specification
Pytorch 1.12 was released, officially supporting Apple M1 chip GPU acceleration and repairing many bugs
How to renew NPDP? Here comes the operation guide!
Simple understanding of interpolation search
Mathematical analysis_ Notes_ Chapter 9: curve integral and surface integral