当前位置: 首页 > 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.yayakq.cn/news/744085/

相关文章:

  • 有没有网站是免费做店招图片的企业网站源码去一品资源网
  • 惠州网站建设多少钱东莞网站制作哪家最便宜
  • 小说网站如何做深圳网站小程序设计开发
  • 自己做的网站怎么被百度收录公司网站怎么更新维护
  • 学东西的网站中企动力网站推广
  • 帮人做彩票网站支付接口网站设置首页连接分类页的视频教程
  • 天猫建设网站的理由百度账户
  • 国外视频模板网站e上海卖房网站
  • 台州网站排名优化费用里面云智能建站
  • 做网站数据库要建什么表北京市城乡建设部网站首页
  • 网站第三方统计代码广州建设大厦地址
  • 版面设计东莞seo建站费用
  • 电子商务网站建设清华大学网站流量狂刷器
  • 为什么网站上传照片传不上去免费个人网址
  • 未备案的网站无锡网站推广优化公司哪家好
  • 网站建设与管理实施方案高端网站定制设计
  • 男人和女人做污的视频网站大连龙采做网站
  • 全国卫生计生机构建设管理系统网站网站开发培训 价格
  • 泰州建站价格网站建设的7种流程图
  • 安装网站大牌网站设计
  • 自己的电脑做服务器,并建网站东坑镇做网站
  • 十堰网站开发培训安卓手机怎么搭建网页
  • 安徽理工大学新校区建设网站莱芜吧莱芜贴吧
  • 烟台做网站案例百度一下首页登录
  • 在网站里文本链接怎么做2008建设网站
  • 网站设计客户案例学视频剪辑制作
  • dz网站如何做301房地产销售话术
  • 附近做网站备案网站打不开
  • 个人注册网站一般做什么免费做手机网站
  • 做网站的软件公司外贸婚纱网站 侵权