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

怎么做不占CPU的网站工厂生产管理app

怎么做不占CPU的网站,工厂生产管理app,比价网站 源码,建站公司的工作流程一、题目 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba"…

一、题目

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

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"

二、思路解析

这道题我看到一位大佬的题解很是巧妙,利用的是回文串的一个性质。

对于⼀个⼦串⽽⾔,如果它是回⽂串,并且⻓度⼤于 2,那么将它⾸尾的两个字⺟去除之后,它仍然是个回⽂串。如此这样去除,⼀直除到⻓度⼩于等于 2 时呢?⻓度为 1 的,⾃⾝与⾃⾝就构成回⽂;

⽽⻓度为 2 的,就要判断这两个字符是否相等了。

从这个性质可以反推出来,从回⽂串的中⼼开始,往左读和往右读也是⼀样的。那么,是否可以枚举回⽂串的中⼼呢?
从中⼼向两边扩展,如果两边的字⺟相同,我们就可以继续扩展;如果不同,我们就停⽌扩展。这样,只需要⼀层 for 循环,我们就可以完成先前两层 for 循环的⼯作量。

三、完整代码

class Solution {public String longestPalindrome(String s) {int begin = 0;int n = s.length();int len = 0;for(int i = 0;i < n; i++){int left = i;int right = i;while(left >= 0 && right < n && s.charAt(left) == s.charAt(right)){left--;right++;}if(right - left - 1 > len){begin = left + 1;len = right - left - 1;}left = i;right = i + 1;while(left >= 0 && right < n && s.charAt(left) == s.charAt(right)){left--;right++;}if(right - left - 1 > len){begin = left + 1;len = right - left - 1;}            }return s.substring(begin, begin + len);}
}

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

http://www.yayakq.cn/news/681274/

相关文章:

  • canvas效果网站正定网站设计公司
  • 网站定制一般价格多少重庆门户网站建设
  • 郑州做网站制作的公司做网站好看的背景图片
  • 如何把网站设为正确建设中东莞seo网络推广
  • 做一网站APP多少钱wordpress主git题
  • 网站设计要素网站开发要用什么语言
  • 贸易网站建设公司wordpress 4.7.8
  • 廊坊做网站公司山西太原网络推广
  • 太原学网站开发的学校用凡科做的网站怎么下载
  • 网站建设商家公司wordpress 开启xml-rpc
  • 西安市长安区规划建设局网站标题设计网站
  • 怎么做网站前段简单网页素材
  • 国外 家具 网站模板下载商城网站结算页面怎么做
  • wordpress 学院 模板企业网站改版seo
  • 网站开发的流程图和原型图合肥网站排名优化公司
  • 优秀的网页设计网站网站制作手机端
  • 响水专业做网站广告设计公司网站源码
  • 提供网站设计服务商wordpress 论坛模板
  • 宁乡网站建设公司网站建设吕凡科技
  • 黄骅贴吧招聘2022年深圳seo网站
  • 广州网站建设定制费用杭州专业建设网站哪里好
  • 网站建设申请报告怎么写儿童摄影作品网站
  • 适合vue做的网站类型好的wordpress企业模板下载地址
  • 网站建设面试阿里云 外贸网站
  • 青浦区网站建设经典网站设计网站
  • 广东省住房城乡建设部网站wordpress使用mysqli
  • 做内贸的电子商务网站典型有手机网站自动跳转
  • 2017建设厅网站如何做导购网站
  • 网络哪里能接活做网站moshou wordpress主题
  • 建造个网站花多少钱朗朗上口的公司名称