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

类似朋友圈wordpress新网站排名优化怎么做

类似朋友圈wordpress,新网站排名优化怎么做,昆山室内设计学校,给文字做网站链接这道题属于动态规划板块,但是我感觉这道题用动态规划相当晦涩难懂,看了一圈题解发现还是中心扩散法最好用,感觉这道题没有必要为了动态规划而动态规划,中心扩散法我感觉华南溜达虎的思路讲得很不错,非常通俗易懂&#…


这道题属于动态规划板块,但是我感觉这道题用动态规划相当晦涩难懂,看了一圈题解发现还是中心扩散法最好用,感觉这道题没有必要为了动态规划而动态规划,中心扩散法我感觉华南溜达虎的思路讲得很不错,非常通俗易懂,代码风格也很好,可以去看看他的视频。这道题就不用动态规划来做了,以后笔试面试遇到这道题就直接用中心扩散法了。
所谓中心扩散法,就是我们遍历字符串的每一个字符,并以该字符为中心,利用左右指针向两边扩散,如果左右指针指向的字符相等,则说明当前依然维护着回文子串的性质,我们可以进一步将左右指针向两边移动,当左右指针出现越界或者左右指针指向的字符不相等时退出循环。由于题目要求的是最长的回文子串,而不仅仅是最长的回文子串的长度,因此我们在循环中需要比较最长回文子串的长度与当前回文子串的长度,如果当前回文子串的长度更长,则更新最长回文子串的长度,并记下此时回文子串的起始下标。
我们注意到回文子串的长度可能是奇数,也可能是偶数,因此我们需要分类讨论:

1.回文子串长度为奇数的情况

例如字符串"abcbd",当我们从字符'c'开始向两边扩散时,起始位置i = 2left = i, right = i;,很显然,经过循环后,我们找到的最长回文子串为bcb,但是对于字符串abba,当我们从第二个'b'开始从两边扩散时,如果还是按照left = i, right = i;的初始化方式,一定找不到abba这个最长回文子串,这就说明我们在选择每一个扩散中心时,当left指针和right指针指向同一个字符作为初始化操作时,只能找到长度为奇数的最长回文字串,我们在统计完奇数情况后,还应当及时统计偶数情况,以免遗漏情况。

2.回文子串长度为偶数的情况

例如字符串abccba,当我们遍历到第一个a时,应当让left指向第一个aright指向第一个b,然后向两边扩散,很显然,在这种情况下得不到回文子串,遍历下一个字符。当遍历到第一个b时,让left指向第一个bright指向第一个c,很显然,在这种情况下得不到回文子串,遍历下一个字符。当遍历到第一个c时,让left指向第一个cright指向第二个c,在这种情况下,我们就得到了最长回文子串abccba,长度为偶数。
在理解了奇数和偶数情况下各自的初始化方式后,我们就很容易写出代码了,我们通过一个for循环遍历字符串s所有的字符,分别讨论对应的奇数和偶数回文子串的情况,不断维护最长回文子串的长度及对应的起始下标,在for循环结束后,直接调用s.substr()获取最长回文子串并返回即可。

class Solution {
public:string longestPalindrome(string s) {int result_len = 0;int result_start = 0;for(int i = 0; i < s.size(); i++){//长度为奇数的回文子串int left = i, right = i;while(left >= 0 && right < s.size() && s[left] == s[right]){if(right - left + 1 > result_len){  //遇到更长的回文子串result_len = right - left + 1;  //更新长度result_start = left;   //记录起点}left--;right++;}//长度为偶数的回文子串left = i, right = i + 1;while(left >= 0 && right < s.size() && s[left] == s[right]){if(right - left + 1 > result_len){  //遇到更长的回文子串result_len = right - left + 1;   //更新长度result_start = left;    //记录起点}left--;right++;}}string result = s.substr(result_start, result_len);return result;}
};
http://www.dtcms.com/wzjs/34063.html

相关文章:

  • 网站建设费用评估品牌企业seo咨询
  • 专业网站建设费用报价seo网站排名优化快速排
  • 临沂建设局网站质量三监督seo优化排名服务
  • 盐城网站设计引流推广广告怎么写
  • wordpress 主机安装西安百度首页优化
  • 自己做国际网站淘宝关键词工具
  • 网站建设方案设计心得贵州seo技术培训
  • 大学生个人简历电子版模板苏州seo网站管理
  • 屯昌网站建设建设营销网站
  • 文化传媒网站php源码尚硅谷培训机构官网
  • 哪个网站可以直接做ppt官网seo关键词排名系统
  • 如何做网站霸屏网络宣传策划方案
  • 郑州网站建设公司电话多少沧州搜索引擎优化
  • 做图书网站的代码互联网品牌的快速推广
  • 岳阳博物馆网站跨境电商怎么做
  • 门户网站的注意要素产品推广软文范文
  • 本地做网站贵seo的中文意思
  • 如何做请求队列防止网站高并发网址信息查询
  • 网站制作与免费网站建设网络营销的十大特点
  • 做包装盒效果图的网站口碑营销ppt
  • 网站后台用什么浏览器软文推广范文
  • 威海网站网站建设深圳网络推广哪家好
  • 免费建站哪里找推广引流怎么做
  • 高端建站和普通建站有哪些不同网络链接推广
  • b2c模式的电商网站长沙网站优化指导
  • 哈尔滨建设工程招聘信息网站谷歌google play官网
  • 天津网站优化哪家最专业最近新闻大事
  • 滕州网站制作哪家好珠海网站建设优化
  • html导入错误 wordpress寻找郑州网站优化公司
  • 企业网站快速优化排名最新消息新闻