当前位置: 首页 > news >正文

做网站通栏模糊丁香人才网官方网站

做网站通栏模糊,丁香人才网官方网站,网站建立者,关于网站建设的请示115.不同的子序列 题目 dp[i][j]表示的是在以是s[j]为结尾的字符串中最多可以找到几种组成以t[i]为结尾的字符串的方式。 如果s[i]t[j], 1.利用第i个和第j个匹配,在j-1中寻找i-1. 2.不适用这两个进行匹配,在j-1中寻找i 如果s[i]!…

115.不同的子序列

题目
dp[i][j]表示的是在以是s[j]为结尾的字符串中最多可以找到几种组成以t[i]为结尾的字符串的方式。
如果s[i]==t[j],
1.利用第i个和第j个匹配,在j-1中寻找i-1.
2.不适用这两个进行匹配,在j-1中寻找i
如果s[i]!=t[j]
则只能在j-1中寻找i

 for(int i=1;i<m+1;i++){for(int j=i;j<n+1;j++){if(t[i-1]==s[j-1]){dp[i][j]=(dp[i-1][j-1]+dp[i][j-1])%(1000000007);}elsedp[i][j]=dp[i][j-1];}}

完整代码:

class Solution {
public:int numDistinct(string s, string t) {int m=t.size();int n=s.size();vector<vector<int>> dp(m+1,vector<int>(n+1,0));for(int j=0;j<n+1;j++)dp[0][j]=1;for(int i=1;i<m+1;i++){for(int j=i;j<n+1;j++){if(t[i-1]==s[j-1]){dp[i][j]=(dp[i-1][j-1]+dp[i][j-1])%(1000000007);}elsedp[i][j]=dp[i][j-1];}}return dp[m][n];}
};

583. 两个字符串的删除操作

方法一

找出两个字符串的最长公共子序列,然后用两个字符串的长度之和减去2*dp[m][n]

方法二

dp[i][j]代表以word1[i]和word2[j]为结尾的字符串删成相同的字符串需要的最小步数
if(word1[i]==word2[j]){
dp[i][j]=dp[i-1][j-1];
}
else{
dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1);
//分别删除第i个和第j个后剩余字符串的最小步数,再加上前面删除的一个步数。
}

class Solution {
public:int minDistance(string word1, string word2) {int m=word1.size();int n=word2.size();vector<vector<int>> dp(m+1,vector<int>(n+1,0));for(int i=1;i<m+1;i++){dp[i][0]=i;}for(int j=1;j<n+1;j++)dp[0][j]=j;for(int i=1;i<m+1;i++){for(int j=1;j<n+1;j++){if(word1[i-1]==word2[j-1]){dp[i][j]=dp[i-1][j-1];}elsedp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1);//分别删除第i个和第j个后剩余字符串的最小步数,再加上前面删除的一个步数。}}return dp[m][n];}
};

72. 编辑距离

如果word1[i]和word2[j]不相同,有三种方式:
1.修改第i个使他与j相同,要dp[i-1][j-1]+1步
2.删除第i个,要dp[i-1][j]+1
3.删除第j个,要dp[i][j-1]+1

插入一个和另一个相等的字符和删除另一个的步数一样,所以可以只用讨论删除的。

if(word1[i-1]!=word2[j-1]){	dp[i][j]=min(dp[i-1][j-1]+1,min(dp[i-1][j]+1,dp[i][j-1]+1;
}
elsedp[i][j]=dp[i-1][j-1];

注意:是i-1和j-1,因为i的长度比m多一个。

完整代码:

class Solution {
public:int minDistance(string word1, string word2) {int m=word1.size();int n=word2.size();vector<vector<int>> dp(m+1,vector<int>(n+1,0));for(int i=1;i<m+1;i++)dp[i][0]=i;for(int j=1;j<n+1;j++)dp[0][j]=j;for(int i=1;i<m+1;i++){for(int j=1;j<n+1;j++){if(word1[i-1]!=word2[j-1]){	dp[i][j]=min(dp[i-1][j-1]+1,min(dp[i-1][j]+1,dp[i][j-1]+1));}elsedp[i][j]=dp[i-1][j-1];}}return dp[m][n];}
};
http://www.shuangfujiaoyu.com/news/20694.html

相关文章:

  • 泉州企业网站建站模板怎么有自己的网站
  • asp.net空网站黑马培训
  • 如何做强企业网站外链工具软件
  • 巴彦淖尔网站制作百度指数支持数据下载吗
  • 设计网站费用搜索引擎营销的内容有哪些
  • 网站演示程序18种最有效推广的方式
  • wordpress save post西安seo建站
  • thinkphp网站优化网络推广软文范文
  • 深圳做兼职的网站哪些网站可以免费申请域名
  • 如何做网站联盟营销百度上怎么免费开店
  • 做日语问卷调查的网站seo搜索引擎优化工资薪酬
  • 个人做的微网站一年要交多少钱电商大数据查询平台
  • wordpress模板xjavaseo中文含义
  • 旅游网站建设服务网页优化建议
  • 一个域名权重3如果做网站的话权重会降为0吗seo网站推广优化
  • 做ppt需要知道网站西安百度竞价托管
  • 免费建立网站空间网络营销产品策略分析
  • 怎么做wp网站百度竞价点击神器下载安装
  • 杭州做网站外包公司哪家好谷歌外链
  • 哪些网站可以上传自己做的视频网络优化排名培训
  • 类似于美团的网站怎么做seo网站快速排名
  • 做网站用备案吗自动seo网站源码
  • wordpress 任务seo收费标准多少
  • 千锋教育培训机构学费河南网站关键词优化
  • 如何做网站免费搭桥链接平台推广文案
  • microsoft免费网站常德seo快速排名
  • 制作网站推广码seo双标题软件
  • 眼科医院网站建设方案有没有可以代理推广的平台
  • 唐山医疗网站建设百度网址大全 简单版
  • 赶集网网站建设杭州百度推广代理商