leetcode 5. 最长回文子串 【马拉车】
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例 2:
输入: "cbbd"
输出: "bb"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:string longestPalindrome(string s) {if(s.length() <= 1) return s;string str = "$#";for(int i = 0; i < s.length(); i++) {str += s[i];str += '#';}int n = str.length(), r = 0, c = 0, mx = 0, id = 0;vector<int> p(n, 0);for(int i = 1; i < n - 1; i++) {p[i] = r > i ? min(p[c * 2 - i], r - i) : 1;while(str[i - p[i]] == str[i + p[i]]) p[i]++;if(p[i] + i > r) {r = p[i] + i;c = i;}if(mx < p[i]) {mx = p[i];id = i;}}return s.substr((id - mx) / 2, mx - 1);}
};
leetcode 5. 最长回文子串 【马拉车】相关推荐
- [动态规划|字符串] leetcode 5 最长回文子串
[动态规划|字符串] leetcode 5 最长回文子串 1.题目 题目链接 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例1: 输入: "b ...
- leetcode 5. 最长回文子串 暴力法、中心扩展算法、动态规划,马拉车算法(Manacher Algorithm)
给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1: 输入: "babad" 输出: "bab" 注意: &quo ...
- 20200118:(leetcode)最长回文子串(中心扩展算法详解及思考)
最长回文子串(中心扩展算法详解及思考) 题目 中心扩展算法详解 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: " ...
- LeetCode 5. 最长回文子串(动态规划)
文章目录 1. 题目 2. 解题 2.1 自己写的DP 2.2 优化后的DP 2.3 中心扩展法 1. 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. ...
- 20200117:(leetcode)最长回文子串(暴力法)
最长回文子串 题目 基本思路 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: ...
- leetcode - 5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 解题思路: 对于一个字符串,回文子串存在两种情况,第一种情况是???a???的回文子串,第二种情况是???aa ...
- leetcode题解5-最长回文子串
问题描述 给你一个字符串 s,找到 s 中最长的回文子串. 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同 ...
- LeetCode 516 最长回文子串
思路: 动态规划 dp数组:dp[i][j]表示s[i:j]最长回文子串长度 出口: ●i j相同, dp[i][j] 都为1 ●j=i+1,如果 s[j]=s[i] dp[i][j]=2, ...
- [LeetCode][M0005]最长回文子串(Java)(马拉车(Manacher)算法)
题目描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注 ...
最新文章
- java slfj教程_SLF4J入门程序
- MQTT---HiveMQ源代码具体解释(十八)Cluster-kryo与Serializer
- 鹅厂最新数字人,体温36.5℃
- Sql Server 2005的1433端口打开和进行远程连接
- java new的是构造函数_Java构造函数
- leetcode 75 --- sort-colors
- 1109: 数根(函数专题)
- style文件的指定
- 30岁女IT工程师感叹:靠这工具,把报表做成养老工作,月薪快3W
- Android:简易计算器
- ucgui添加自定义汉字库
- 利用CSF算法实现地面点云的粗分割
- Flash游戏开发技术分析(下)
- dell服务器分区表修复,如何修复被Partition Magic损坏的分区表
- 路由器,猫,交换机的区别
- Android开发网上的一些重要知识点[经验分享]
- def序列化器---视图序列化反序列化
- Go语言Cookie常用设置
- 表白,游戏,跨年,各种节日祝福的link
- 《区块链技术与应用》北大肖臻老师——课程笔记【6-8】