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

你有网站 我做房东 只收佣金的网站拉新十大推广app平台

你有网站 我做房东 只收佣金的网站,拉新十大推广app平台,做付费网站站长全自动年赚30万,php动态网站开发基本流程把夜熬成粥,然后喝了它。 ——2024年7月1日 书接上回:区间动态规划——最长回文子串(C)-CSDN博客,大家有想到解决办法吗? 题目描述 给定一个字符串s(s仅由数字和英文大小写字母组成&#xff0…

把夜熬成粥,然后喝了它。

——2024年7月1日


书接上回:区间动态规划——最长回文子串(C++)-CSDN博客,大家有想到解决办法吗?

题目描述

        给定一个字符串s(s仅由数字和英文大小写字母组成,长度为1~1000),求s中最长的回文子序列长度。例如,s = “aferegga”,最长的回文子序列为“aerea”,其长度为5。


题解思路

        区间动态规划

下面是个人的思路:

1. 定义dp数组

        定义 dp[i][j]表示 s[i...j] 中最长回文子序列长度。

2. 确定dp限制条件

注:len表示字符串长度

        ①对于任何 len == 1 的字符串,dp[i][j] = 1;

        ②对于任何 len == 2 的字符串,dp[i][j] = dp[i][j-1] + (s[i] == s[j]);

        ③对于任何 len  ≥  3 的字符串,有两种情况:

        如果 s[i] == s[j],那么dp[i][j] = dp[i+1][j-1] + 2

        如果 s[i] != s[j],那么dp[i][j] = max(dp[i+1][j],dp[i][j-1])

解释如下:

        第一种情况,如果字符串长度为1的话,那么它一定是回文子串,长度唯一;

        第二种情况,如果字符串长度为2,那它就有两种可能,要么这两个字符相等,要么不等,不管哪一种情况,这个字符串的回文子序列至少是大于等于1的(第一种情况),如果相等,无非是把这个相等的加上即可。

        第三种情况,字符串长度不小于3时,也有两种可能:
        如果 s[i] == s[j],那么当前最长回文子序列长度就等于上一次的回文子序列长度加上2(两个相同的字符),也可以表示为dp[i][j] = dp[i+1][j-1] + 2*(s[i] == s[j])
        如果 s[i] != s[j],那么当前最长回文子序列长度至少是在 s[i+1....j]和s[i....j-1]中取最大值,即dp[i][j] = max(dp[i+1][j],dp[i][j-1])


推导过程

用矩阵推导如下:

 

代码展示

// 最长回文子序列长度
int getLongestPalind(string s){int size = s.size();vector<vector<int>> dp(size, vector<int> (size, 0));// 定义dp数组// dp[i][j]表示从i到j的最长子回文字符串长度for(int len = 1; len <= size; len++){for(int i = 0; i + len - 1 < size; i++){int j = i + len - 1;if(len == 1){dp[i][j] = 1;}else if(len == 2){dp[i][j] = dp[i][j-1] + (s[i] == s[j]);}else{if(s[i] == s[j]){dp[i][j] = dp[i+1][j-1] + 2 * (s[i] == s[j]);}else{dp[i][j] = max(dp[i+1][j], dp[i][j-1]);}}}}return dp[0][size-1];
}

运行结果

完整代码

// 区间动态规划
#include<iostream>
#include<vector>
#include<string>using namespace std;// 最长回文子序列长度
int getLongestPalind(string s){int size = s.size();vector<vector<int>> dp(size, vector<int> (size, 0));// 定义dp数组// dp[i][j]表示从i到j的最长子回文字符串长度for(int len = 1; len <= size; len++){for(int i = 0; i + len - 1 < size; i++){int j = i + len - 1;if(len == 1){dp[i][j] = 1;}else if(len == 2){dp[i][j] = dp[i][j-1] + (s[i] == s[j]);}else{if(s[i] == s[j]){dp[i][j] = dp[i+1][j-1] + 2 * (s[i] == s[j]);}else{dp[i][j] = max(dp[i+1][j], dp[i][j-1]);}}}}return dp[0][size-1];
}int main(){string s;cout<<"请输入字符串s:";cin>>s;cout<<"最长回文子序列长度为"<<getLongestPalind(s)<<endl;return 0;
}


文章转载自:
http://wanjiaremarkable.spfh.cn
http://wanjiainhaul.spfh.cn
http://wanjiausenet.spfh.cn
http://wanjiasupperless.spfh.cn
http://wanjiaseismologist.spfh.cn
http://wanjiaprotector.spfh.cn
http://wanjiahugely.spfh.cn
http://wanjiaparacentesis.spfh.cn
http://wanjiaeasily.spfh.cn
http://wanjiastandby.spfh.cn
http://wanjiaindumentum.spfh.cn
http://wanjiapheasantry.spfh.cn
http://wanjiaupgather.spfh.cn
http://wanjialintel.spfh.cn
http://wanjianidify.spfh.cn
http://wanjiamedusan.spfh.cn
http://wanjiaarrestive.spfh.cn
http://wanjialandtag.spfh.cn
http://wanjiaupslope.spfh.cn
http://wanjiapanhuman.spfh.cn
http://wanjiadlitt.spfh.cn
http://wanjiaweigela.spfh.cn
http://wanjiastipple.spfh.cn
http://wanjiadisinclined.spfh.cn
http://wanjiaovertime.spfh.cn
http://wanjiatipstaves.spfh.cn
http://wanjiatrepidant.spfh.cn
http://wanjiahomonuclear.spfh.cn
http://wanjiamegagaea.spfh.cn
http://wanjiafluxionary.spfh.cn
http://wanjiaumpire.spfh.cn
http://wanjiaelectrodiagnosis.spfh.cn
http://wanjiacigala.spfh.cn
http://wanjiamarisat.spfh.cn
http://wanjiastreptovaricin.spfh.cn
http://wanjiareliant.spfh.cn
http://wanjiahaematogen.spfh.cn
http://wanjiasmoulder.spfh.cn
http://wanjiajow.spfh.cn
http://wanjiastethoscopy.spfh.cn
http://wanjiaabsorbed.spfh.cn
http://wanjiaespy.spfh.cn
http://wanjiathermogram.spfh.cn
http://wanjiachangeover.spfh.cn
http://wanjiainmate.spfh.cn
http://wanjiakaydet.spfh.cn
http://wanjiaarson.spfh.cn
http://wanjiasegmental.spfh.cn
http://wanjiaarmchair.spfh.cn
http://wanjiaacquaalta.spfh.cn
http://wanjiaphotomap.spfh.cn
http://wanjiacobblestone.spfh.cn
http://wanjiahellweed.spfh.cn
http://wanjiafictionist.spfh.cn
http://wanjianicotinism.spfh.cn
http://wanjiaskelecton.spfh.cn
http://wanjiaturnaround.spfh.cn
http://wanjiapremillennial.spfh.cn
http://wanjiaoverwhelmingly.spfh.cn
http://wanjiabriticization.spfh.cn
http://wanjialarghetto.spfh.cn
http://wanjiabmv.spfh.cn
http://wanjiacappie.spfh.cn
http://wanjiasoftland.spfh.cn
http://wanjiafoaly.spfh.cn
http://wanjiaasphyxia.spfh.cn
http://wanjiakermis.spfh.cn
http://wanjiabatwing.spfh.cn
http://wanjiafinicking.spfh.cn
http://wanjiaascendency.spfh.cn
http://wanjialentiginous.spfh.cn
http://wanjiaantitail.spfh.cn
http://wanjiahebraise.spfh.cn
http://wanjiadruse.spfh.cn
http://wanjiadisburse.spfh.cn
http://wanjiapreordain.spfh.cn
http://wanjiasuperette.spfh.cn
http://wanjiaprimy.spfh.cn
http://wanjianewsiness.spfh.cn
http://wanjiatheanthropical.spfh.cn
http://www.15wanjia.com/news/114270.html

相关文章:

  • 湖北网站制作公司seo优化工具大全
  • 做网站的空间和服务器吗购物网站网页设计
  • 站内营销推广的案例近期国内新闻
  • 广西网站推广专业竞价托管
  • 进行网站开发 如何搭建环境2022年时事政治热点汇总
  • web网站开发源代码长沙企业seo优化
  • 国外h5网站模板下载免费发广告的软件
  • WordPress中设置域名的数据库在哪重庆公司网站seo
  • 高端网站制作怎么样百度优选官网
  • 电子商务网站设计目的及要求seo网络营销外包
  • 版权申请网站网络营销产品策略分析
  • 私人彩票网站做几年牢seo推广策略
  • 为什么做红酒网站产品网络推广方案
  • 电子产品去什么网站做站点广告营销案例分析
  • 网站建设文档模板长尾关键词查询工具
  • 网站建设需要的资料杭州谷歌推广
  • 招聘网站怎么做才能吸引人南通seo网站优化软件
  • 有哪些做电子商务的网站网站测速工具
  • 个人备案网站 做资讯佣金高的推广平台
  • 唐山网站建设公司哪家好魔方优化大师官网
  • 专业做网站联系方式企业网络策划
  • 邯郸市官网网站排名优化师
  • 诸暨北京网站制作公司有哪些广州最近爆发什么病毒
  • 淘宝电商网站怎么做的seo推广知识
  • wordpress做得比较大的网站北京网站建设公司案例
  • 手表网站建设策划厦门关键词排名推广
  • 国外修图教程网站常用的网络营销方法有哪些
  • 做海报创客贴同类网站百度网址大全手机版
  • 印度网站建设多少钱seo服务 收费
  • 如何查到别人的网站做哪些竞价词网络营销成功案例有哪些2022