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

绍兴 网站制作浙江昆仑建设集团网站

绍兴 网站制作,浙江昆仑建设集团网站,聊天代理分销系统,网站开发专业就业前景分析一、题目解析 对于给定了两个字符串中,需要找到最长的公共子序列,也就是两个字符串所共同拥有的子序列。 二、算法原理 1、状态表示 dp[i][j]:表示s1的[0,i]和s2的[0,j]区间内所有子序列,最长子序列的长度 2、状态转移方程 根…

一、题目解析

对于给定了两个字符串中,需要找到最长的公共子序列,也就是两个字符串所共同拥有的子序列。

二、算法原理

1、状态表示

 

dp[i][j]:表示s1的[0,i]和s2的[0,j]区间内所有子序列,最长子序列的长度

2、状态转移方程

根据最后一个位置的状态,分情况讨论

 

dp[i][j] s1[i]==s2[j]->dp[i-1][j-1]+1

          s1[i]!=s2[j]->max(dp[i][j-1],dp[i-1][j])

3、初始化

由于需要dp[i][j-1]和dp[i-1][j],为了便于初始化计算最长子序列,可以多加一行一列,并初始化值为0,为了方便下标映射,可以对字符串前加一个空格处理,使其下标对其,便于操作

4、填表顺序

 

为了避免所需值为计算,从上往下,从左往右开始填表

5、返回值

需要返回的是在s1和s2长度下的最长公共子串,所以return dp[m][n] 

依旧先画图思考,在自己实现,链接:1143. 最长公共子序列 - 力扣(LeetCode)

三、代码示例

 

class Solution {
public:int longestCommonSubsequence(string text1, string text2) {int m = text1.size(),n = text2.size();vector<vector<int>> dp(m+1,vector<int>(n+1,0));text1 = " "+text1;text2 = " "+text2;for(int i = 1;i<=m;i++){for(int j = 1;j<=n;j++){if(text1[i] == text2[j]){dp[i][j]= dp[i-1][j-1]+1;}else{dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}}return dp[m][n];}
};

 

 

看到最后,如果对您有所帮助,还请点赞、收藏和关注,点点关注不迷路,我们下期再见! 

 

 

http://www.dtcms.com/wzjs/799287.html

相关文章:

  • 两个网站共用一个数据库社交网站 设计
  • mysql python开发网站开发网站建设就找奇思网络
  • 廊坊网站自助建站深圳有哪些软件开发公司
  • 汉台网站制作wordpress单页展示主题
  • 深圳石岩建网站frontpage网站模板
  • 外链推广网站老会计手把手教做帐官方网站
  • 杭州小程序网站开发公司做网站专业的公司
  • wordpress+站群软件网站与网站做外链好吗
  • 湛江网站建设方案托管更改网站文章上传时间
  • 北京专业网站营销safari网页视频怎么下载
  • 做一个专业的网站多少钱宁夏住房和城乡建设官方网站
  • element ui做门户网站网页设计实训报告记录和结果分析
  • 淘宝网 商务网站建设目的毕节市建设网站
  • 网站 系统 的开发技术淘宝网电脑版登录入口官网
  • 网站开发的检索速度在啥范围之内淘宝上网站建设续费
  • 关于网站开发人员保密协议深圳最好的做网站
  • 网站建设系统开发需要多少钱设计师拥有的设计导航
  • 网站域名的注册时间搜狗站群系统
  • 二级域名网站如何申请吗长沙网站建设索王道下拉
  • 安徽省博物馆网站建设什么是推广
  • 优化网站技术做网站含营销
  • 泰达人才网招聘网wordpress 数据优化
  • 学生校园网站模板企业网站小程序源码
  • 西安建设网站推广wordpress随机文章小工具
  • 网站首页设计原则免费建设网站软件下载
  • 潍坊网站建设联系方式邵武建设局网站
  • 网站301跳转代码网页小游戏源码
  • 双公示网站专栏建设网页分析从哪些方面
  • 学网站建设要什么北京建设信源公司网站
  • 厦门哪里有建设网站的建筑设计为何没人干了