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

pos机WordPress主题免插件优化wordpress

pos机WordPress主题,免插件优化wordpress,长沙自助建站哪家好,wordpress如何让设置关键词一,最长回文串 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://www.yayakq.cn/news/499366/

相关文章:

  • 二手交易网站建设网站建设利润越来越低
  • 长沙做旅游网站多少钱wordpress添加数据库文件
  • 在越南做网站都是什么人免费网站服务器
  • 网站排名如何做玉林网站seo
  • 站长工具seo查询软件好看的商城网站
  • 搞笑网站全站源码销售类网站开发架构
  • 做网站有用没网络营销方式举个例子
  • 慈溪哪点有学做网站的怎么做自己网站里的资讯
  • 电子商务网站的类型北京电子商务网站制作
  • 北京顺义网站建设百度企业邮箱注册申请
  • 东莞网站制作十强策划营销
  • 网站建设用户需求分析怎么做外贸网站seo
  • 哪个网站可以做平面兼职专业建站公司哪家有名
  • 小说网站怎么建设少儿编程网课国内哪个好
  • 移动营销型网站建设wordpress扁平模板下载
  • 建设好网站如何上传百度WordPress多级目录多种样式
  • 龙岗建设招标局网站购物网站的搜索框用代码怎么做
  • 永久免费网站系统年度关键词
  • 深圳建网站三千新蔡县住房和城乡建设局网站
  • 河南卓越建设工程有限公司网站网站不备案可以建设吗
  • 网站焦点图制作教程上海猎头公司排名
  • 泰安网站建设定制公司网站开发7个基本流程图
  • 广东省建设网站网站毕业设计代做
  • 网站建设app开发 微信小程序 网站开发 自动脚本电子商务网站
  • 卡盟网站怎么做图片素材惠州建设网站
  • 安徽省高等级公路工程建设指挥部网站重庆做网站找谁
  • 网站数据库迁移南城区仿做网站
  • 秦皇岛网站设计公司网站怎样做wap端
  • 想学电商从什么学起seo优化视频教程
  • 重庆市住房和城乡建设厅网站首页临沂网站