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

电子商务公司开发网站新鸿儒做网站

电子商务公司开发网站,新鸿儒做网站,衡阳网站建设公司哪家好,济南网站建设招标最长回文子串 给你一个字符串 s,找到 s 中最长的 回文 子串。 https://leetcode.cn/problems/longest-palindromic-substring/submissions/607962358/ 动态规划: 回文串即是从前面开始读和从后面开始读,读出来的字符串均相同的字符串&#…

最长回文子串

给你一个字符串 s,找到 s 中最长的 回文 子串。

https://leetcode.cn/problems/longest-palindromic-substring/submissions/607962358/

在这里插入图片描述

动态规划:

  1. 回文串即是从前面开始读和从后面开始读,读出来的字符串均相同的字符串,可以理解字符串正中间是一面镜子,镜子的两侧字符串必然对称。
    在这里插入图片描述

  2. 实际上回文串如果只含一个字符,必然是回文串;如果含2个字符,若两个字符相等,则必然是回文串,否则不是回文串,例如ab,这就不是回文串,‘bb’就是;

  3. 如果含多个字符,那么如果第一位和最后一位字符不相同,那肯定不是回文串(按照上图所示,回文串必然是对称的,如果第一位和最后一位字符不同,那么就必然存在不对称的情况了

  4. 如果含多个字符且第一位和最后一位字符相同,那么,如果它去除掉第一位和最后一位字符后,依然是回文串,那它肯定是回文串;否则,如果它去除掉第一位和最后一位字符后,不是回文串,那说明这个子串肯定不对称,不对称的话肯定就不是回文串了。所以问S[i,j]是不是字串,就要看它的子串S[i+1,j-1]是不是回文串。显然应该用动态规划

  5. 动态规划访问数组的时候一定要按照图里面的。1斜线,2斜线,3斜线……5斜线这个顺序去访问,
    在这里插入图片描述
    否则例如下面图示的这个访问顺序,会出现访问dp[0,3]时,dp[1,2] 没赋值就访问的问题

  6. vector最好用int,vector<vector<int>>,别用布尔bool,否则难以察觉到自己的算法是否有数组越界的问题。

class Solution {
public:string longestPalindrome(string s) {int s_len = s.size();if (s_len <= 1) {return s;}int max_len = 1, begin = 0; // 最大回文长度和起始位置vector<vector<int>> dp(s_len, vector<int>(s_len));// S[i][i]也就是串的i号位字符,由于所有长度为1的串都是回文,所以是truefor (int i = 0; i < s_len; i++) {dp[i][i] = true;}// 由于s[i][j]回文取决于S[i+1][j-1]是否是回文,所以优先填充斜线// 当前检测的子串长度为Lfor (int L = 2; L <= s_len; L++) {for (int i = 0; i < s_len; i++) {int j = L + i - 1;if (j >= s_len)//子串终点标记j不能大于父串break;if (s[i] == s[j]) {//看看字串是否是回文串if (j - i + 1 <= 2) {//长度2,又有s[i] == s[j],必然是回文串dp[i][j] = true;} else {dp[i][j] = dp[i + 1][j - 1];}} else {// s[i] != s[j],出现了不对称的情况,不可能是回文串了dp[i][j] = false;}if (dp[i][j] && max_len < j - i + 1) {// 此次迭代检测到回文串,更新最大值begin = i;max_len = j - i + 1;}}}return s.substr(begin, max_len);}
};
http://www.dtcms.com/wzjs/576939.html

相关文章:

  • 江西高端网站定制wordpress注册码插件
  • 漳浦网站制作公司o2o网站建设
  • 一个网站好不好大淘客官网做的网站打不开
  • 哪个网站做高仿衣服南宁设计网站建设
  • 车险保险网站网站建设与设计的心得体会
  • 管廊建设网站模型网站大全免费
  • 企业网站后台怎么做低代码平台 开源
  • 邢台哪儿专业做网站做网站的必备软件
  • 网站如何留住用户廊坊网站设计
  • 买做指甲的材料在哪个网站免费网站如何赚钱
  • 最简单的网站制作设计个网站需要怎么做
  • 自建网站套现公司网络维护通知
  • php网站模板制作软件四川中天建设有限公司网站
  • 安徽网站开发与维护专业湖南网站建设加盟代理
  • 简洁文章网站模板下载设计app界面
  • 陕西网站建设技术方案wordpress页面标题居中
  • 贵州建站管理系统临沂做网站建设公司
  • 做内容网站网站域名怎么起
  • 网站二级域名打不开网上服装商城网站建设方案策划书
  • 集团公司网站改版方案长沙seo袁飞
  • 山东闪电建站网百度收录比较好的网站
  • 网站建设与设计开题报告php 网站开发框架ap
  • 网站建设制作优化体验营销案例
  • 海南网站建站wordpress discussion settings
  • 网站开发需要哪些基础技术网站制作专家
  • 网站建设与推广提升网站收录
  • 阿里云服务器可以做多少个网站网站建立费用
  • 网站首页不见怎么做襄阳的网站建设公司
  • 做查询网站费用杭州软件开发培训机构
  • 360网站挂马检测济南优化网站排名