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

网站制作 台州排名公式

网站制作 台州,排名公式,seo关键词排名工具,知名设计公司logo115.不同的子序列 题目 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.15wanjia.com/news/37860.html

相关文章:

  • 找施工队伍去什么网站游戏推广引流
  • 做网站带吗网站首页快速收录
  • 公司网站建设一年多少钱河南网站建设哪家公司好
  • 公司网站设计怎么做网站友链交换平台
  • 网站被抄袭搜索引擎推广有哪些平台
  • 做网站有哪些项目邯郸百度推广公司
  • 不能上传图片到网站西安seo包年服务
  • 数字营销网站建设学seo网络推广
  • 公司网站公司百度首页 百度
  • 哪个网站可以做汽车评估青岛优化网站关键词
  • 建设自己的网站首页网络营销岗位技能
  • 手机网站模块关键词优化排名软件案例
  • 大连做网站的小说引流推广
  • 查看网站有没有做301图片外链工具
  • 网站源码下载软件竞价恶意点击立案标准
  • 美食网站建设方案网游百度搜索风云榜
  • 公司门户网站建设费计入什么科目seo专员是什么职业
  • iis添加网站主机名网站快速收录
  • 博物馆网站做的好的北京网站排名seo
  • 厦门哪里有做网站网络优化工程师骗局
  • 免费企业网站建站百度认证平台
  • 企业在网站建设中需要做什么长沙网站设计
  • seo技术推广刷seo排名
  • 郴州 网站建设网络推广公司简介
  • 长春专业企业网站建设价格免费网站seo优化
  • 白云区pc端网站建设中国企业500强
  • wordpress详情页图片放大优化步骤
  • 昆明企业建站程序win7优化大师官网
  • 做软件项目需不需要有网站怎样上百度做广告
  • 食品 骏域网站建设专家成都网站快速排名优化