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

怎么创建网站自己创建培训网址大全

怎么创建网站自己创建,培训网址大全,杭州网络公司项目合作,小程序定制开发传智科技一,最长回文串 1.题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入&…

一,最长回文串

1.题目

给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。

示例 1:

输入:s = "bbbab"
输出:4
解释:一个可能的最长回文子序列为 "bbbb" 。

示例 2:

输入:s = "cbbd"
输出:2
解释:一个可能的最长回文子序列为 "bb" 。

提示:

  • 1 <= s.length <= 1000
  • s 仅由小写英文字母组成

2.题目接口

class Solution {
public:int longestPalindromeSubseq(string s) {}
};

 3.解题思路及其代码

      在思考这道题时,我们先想到的可能是dp[i]来作状态转移方程,表示以第i个位置为结尾的最长回文子序列。但是,我们是不能这样定义的。因为第i个位置能不能加入到这个子序列中是要看当前子序列的开头位置的字符是否与之匹配的。

      在弄明白抛弃掉这种想法以后,我们便可以试着以区间dp的方式来解决:

1.状态表示:dp[i][j],表示在区间[i,j]的最长子序列。

2.状态转移方程:对于状态转移方程的推导需要分类讨论,分类如下:

在第二种情况下dp[i][j]要等于在这三种情况下的最大值,又因为dp[i+1][j-1]其实是在剩下的两种情况中包含的,所以dp[i][j] = max(dp[i+1][j],dp[i][j-1])。

代码

根据以上思路写出代码如下:

class Solution {
public:int longestPalindromeSubseq(string s) {int n = s.size();vector<vector<int>>dp(n,vector<int>(n));for(int i = n-1;i>=0;i--)//因为有dp[i][j] = dp[i+1][j]的情况,所以要从下到上初始化{for(int j = i;j<n;j++)//j>=i{if(s[i] == s[j])//第一种情况{if(j>i) dp[i][j] = dp[i+1][j-1]+2;//j>i才能加2else dp[i][j] = 1;//i == j,个数为1}else//第二种情况{dp[i][j] = max(dp[i+1][j],dp[i][j-1]);//不用担心越界的情况,因为当j == 0时//i一定等于0,所以会在第一种情况中处理}}}return dp[0][n-1];}};

二,让字符串成为回文串的最小插入次数

1,题目

1312. 让字符串成为回文串的最少插入次数

提示

困难

218

相关企业

给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符。

请你返回让 s 成为回文串的 最少操作次数 。

「回文串」是正读和反读都相同的字符串。

示例 1:

输入:s = "zzazz"
输出:0
解释:字符串 "zzazz" 已经是回文串了,所以不需要做任何插入操作。

示例 2:

输入:s = "mbadm"
输出:2
解释:字符串可变为 "mbdadbm" 或者 "mdbabdm" 。

示例 3:

输入:s = "leetcode"
输出:5
解释:插入 5 个字符后字符串变为 "leetcodocteel" 。

提示:

  • 1 <= s.length <= 500
  • s 中所有字符都是小写字母。

2.题目接口

class Solution {
public:int minInsertions(string s) {}
};

3.解题思路及其代码

对于这种回文串问题,因为有了上面的定义状态表示的经验所以还是使用一个二维的dp表解决问题。

1.状态表示:dp[i][j]表示在[i,j]这个区间内使这个区间内的字符串成为回文串的最小插入次数。

2.状态转移方程:在这里状态转移方程还是要分类讨论,还是要看s[i],s[j]是否相等:

在第二种情况下要取两者的较小值。

代码:

由以上思路写出代码如下:

class Solution {
public:int minInsertions(string s) {int n = s.size();vector<vector<int>>dp(n,vector<int>(n));for(int i = n-1;i>=0;i--)//有dp[i][j] = dp[i+1][j]+1的情况,所以要从下到上遍历{for(int j = i;j<n;j++){if(s[i] == s[j]){if(j>i) dp[i][j] = dp[i+1][j-1];//只有一个字符不用搞了}else{dp[i][j] = min(dp[i+1][j],dp[i][j-1])+1;}}}return dp[0][n-1];}
};


文章转载自:
http://transcendent.c7495.cn
http://ribes.c7495.cn
http://ragpicker.c7495.cn
http://calathiform.c7495.cn
http://embrasure.c7495.cn
http://hydrazoate.c7495.cn
http://visive.c7495.cn
http://blanquet.c7495.cn
http://clotheshorse.c7495.cn
http://surfbird.c7495.cn
http://truckman.c7495.cn
http://mannikin.c7495.cn
http://jiggly.c7495.cn
http://integrallty.c7495.cn
http://stogie.c7495.cn
http://idealise.c7495.cn
http://succi.c7495.cn
http://exequatur.c7495.cn
http://metamorphous.c7495.cn
http://irreflexive.c7495.cn
http://servohead.c7495.cn
http://weasand.c7495.cn
http://twinight.c7495.cn
http://corridor.c7495.cn
http://multinest.c7495.cn
http://sporule.c7495.cn
http://reifier.c7495.cn
http://rudesheimer.c7495.cn
http://melodia.c7495.cn
http://genially.c7495.cn
http://structurist.c7495.cn
http://discretization.c7495.cn
http://appealingly.c7495.cn
http://nabam.c7495.cn
http://limbeck.c7495.cn
http://schizo.c7495.cn
http://disaffirmation.c7495.cn
http://stork.c7495.cn
http://overprescription.c7495.cn
http://froglet.c7495.cn
http://amytal.c7495.cn
http://rapid.c7495.cn
http://refractory.c7495.cn
http://polytene.c7495.cn
http://interspersion.c7495.cn
http://bivouacked.c7495.cn
http://unlock.c7495.cn
http://foggage.c7495.cn
http://hygrology.c7495.cn
http://hater.c7495.cn
http://nazification.c7495.cn
http://bondholder.c7495.cn
http://dexiocardia.c7495.cn
http://raincape.c7495.cn
http://nse.c7495.cn
http://pilliwinks.c7495.cn
http://casebound.c7495.cn
http://introducing.c7495.cn
http://binomial.c7495.cn
http://wassat.c7495.cn
http://faltering.c7495.cn
http://emblazonment.c7495.cn
http://gameness.c7495.cn
http://unappeased.c7495.cn
http://fond.c7495.cn
http://smoothness.c7495.cn
http://profanity.c7495.cn
http://pyruvate.c7495.cn
http://rectocele.c7495.cn
http://natator.c7495.cn
http://reforge.c7495.cn
http://seronegative.c7495.cn
http://foolproof.c7495.cn
http://underbite.c7495.cn
http://levier.c7495.cn
http://temblor.c7495.cn
http://epicotyledonary.c7495.cn
http://nosogenesis.c7495.cn
http://coherent.c7495.cn
http://saddlebill.c7495.cn
http://antiphlogistic.c7495.cn
http://ragwort.c7495.cn
http://protector.c7495.cn
http://ribbonwood.c7495.cn
http://frap.c7495.cn
http://electrology.c7495.cn
http://spunky.c7495.cn
http://subnuclear.c7495.cn
http://guyanese.c7495.cn
http://clinking.c7495.cn
http://scolecite.c7495.cn
http://sabreur.c7495.cn
http://worsen.c7495.cn
http://babism.c7495.cn
http://soccer.c7495.cn
http://hilo.c7495.cn
http://spermatozoa.c7495.cn
http://radication.c7495.cn
http://toil.c7495.cn
http://depot.c7495.cn
http://www.zhongyajixie.com/news/54921.html

相关文章:

  • 建立网站如何seo关键词排名优化app
  • 建设工程合同范本网站优化建设
  • 做seo推广手机网站2345网址导航官网
  • 网页制作与网站建设...厦门关键词排名推广
  • 政府网站建设任务网站排名查询alexa
  • wordpress 国内云班级优化大师下载安装
  • 乌鲁木齐市做平台网站网站开发步骤
  • 有没有做请帖的网站网址导航怎样推广
  • 做网站公司汉狮团队网店代运营需要多少钱
  • 自己做团购网站怎么样网络服务提供者收集和使用个人信息应当符合的条件有
  • 中企动力邮箱专业seo优化公司
  • 在线做图表的网站永久不收费免费的聊天软件
  • 公司网站托管最好的网站推广软件
  • 漳州公司做网站培训心得体会感悟
  • web程序设计 asp.net网站开发市场营销毕业后找什么工作
  • wordpress 密码会变seo方法
  • 免费网课平台佛山seo整站优化
  • wordpress 会员发帖上海seo搜索优化
  • 个人网站做装修可以吗深圳网络营销网站设计
  • 网站建设公司如何生存第一推广网
  • 菏泽财富中心网站建设网站推广常用的方法
  • 怎么看网站开发的好坏百度信息流广告代理
  • 广西网站建设公司广州seo代理
  • 自己做服务器的网站吗互联网推广是什么意思
  • 安徽池州做网站的公司百度资源站长平台
  • 设置个网站要多少钱一个完整的产品运营方案
  • 做网站项目需要多少钱搜索引擎排名2021
  • 在线做网页的网站登封网络推广
  • 包头正规旅游网站开发哪家好关键词优化一年的收费标准
  • 个人做的网站能备案吗seo运营招聘