5. 最长回文子串——基于扩展中心法的优化
class Solution {public String longestPalindrome(String s) {if (s == null) return null;char[] cs = s.toCharArray();if (cs.length <= 1) return s;// 最长回文子串的长度(至少是1)int maxLen = 1;// 最长回文子串的开始索引int begin = 0;int i = 0;while (i < cs.length) {int l = i - 1;// 找到右边第一个不等于cs[i]的位置int r = i;while (++r < cs.length && cs[r] == cs[i]);// r会成为新的ii = r;// 从l向左,从r向右扩展while (l >= 0 && r < cs.length && cs[l] == cs[r]) {l--;r++;}// 扩展结束后,cs[l + 1, r) cs(l, r)就是刚才找到的最大回文子串// ++l后,l就是刚才找到的最大回文子串的开始索引int len = r - ++l;if (len > maxLen) {maxLen = len;begin = l;}}return new String(cs, begin, maxLen);}
}
5. 最长回文子串——基于扩展中心法的优化相关推荐
- leetcode 5-最长回文子串(中心扩展算法)
题目描述 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1: 示例1 输入: "babad" 输出: "bab" ...
- 5. 最长回文子串——暴力法---动态规划解法---扩展中心法
暴力法 动态规划解法 class Solution {public String longestPalindrome(String s) {if (s == null) return null;cha ...
- leetcode 5. 最长回文子串 暴力法、中心扩展算法、动态规划,马拉车算法(Manacher Algorithm)
给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1: 输入: "babad" 输出: "bab" 注意: &quo ...
- 20200118:(leetcode)最长回文子串(中心扩展算法详解及思考)
最长回文子串(中心扩展算法详解及思考) 题目 中心扩展算法详解 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: " ...
- LeetCode:Longest Palindromic Substring 最长回文子串
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
- python求回文_python实现求最长回文子串长度
给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最长回文子串是'3553',所以返回4. 最容易想到的办法是枚举出所有的子串,然后一一判断是否为回文串,返回最长的回文子 ...
- 统计5个字符串回文个数c语言,第一章 字符串 – 1.5 最长回文子串 - 编程之法:面试和算法心得...
最长回文子串 题目描述 给定一个字符串,求它的最长回文子串的长度. 分析与解法 最容易想到的办法是枚举所有的子串,分别判断其是否为回文.这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包 ...
- leetcode 5 :Longest Palindromic Substring 找出最长回文子串
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...
- python【力扣LeetCode算法题库】5- 最长回文子串
5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab&quo ...
最新文章
- protobuf生成
- Cryptohack-RSA writeups
- python中f点flush是什么函数_Python文件操作及内置函数flush原理解析
- 用万字长文聊一聊 Embedding 技术
- 团队任务3:每日立会(2018-10-25)
- [react] react中调用setState会更新的生命周期有哪几个?
- apmserver导入MySQL_mysql数据库导入导出
- ApiPost V5 升级指南
- VSFTP的PASSIVE模式的防火墙设置
- 令人困惑的strtotime
- wps解密excel表格xlsx文件,excel表格xlsx权限密码多少?
- 如何利用insightface同时计算多个人脸相似度
- aurora协议学习之时钟补偿
- TestNG 参数化测试
- Python|泰坦尼克号幸存者画像
- 虚拟滚动实现(Vue)
- 不论微信钉钉还是什么软件,我写了个通用的消息监控处理机器人
- 消毒机器人市场前景分析
- 史上最全互联网运维工作规划!
- 移动开发需要了解的UI设计知识
热门文章
- 错误传播 --try{}catch(e){console.log(e)}
- Go 采用 time.After 实现超时控制
- [源码和文档分享]基于FFMEPEG-MATLAB和C#-SQL SERVER构建的手机录音数据库及特征分析...
- #41 最短路(分治+线性基)
- Codeforces 1027F. Session in BSU
- 使用 vue.js 的一些操作记录
- JS实现一行内多列DIV同高
- 铝聚合物电池工作温度及低温电量差异的说明
- 无法连接到已配置的开发web服务器_你知道多少种服务器?这三种服务器你都认识吗?...
- java并发编程系列-内存模型基础