1 class Solution { 2 public String longestPalindrome(String s) { 3 if(s.equals("")) return ""; 4 String origin = s; 5 String reverse = new StringBuffe ...
分类:
其他好文 时间:
2020-12-14 13:43:53
阅读次数:
4
5. 最长回文子串 思路一:中心扩展法 参考:https://leetcode-cn.com/problems/palindromic-substrings/solution/liang-dao-hui-wen-zi-chuan-de-jie-fa-xiang-jie-zho/ 选定中心点后,同时判 ...
分类:
其他好文 时间:
2020-10-09 21:32:45
阅读次数:
30
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 方法一:动态规划 对于一个子串而言,如果它是回文串,并且长度大于2,那么将它首尾的两个字母去除之后,它仍然是个回文串 用P(i, j)表示字符串s的第i到j个字母组成的串(s[i:j])是否为回文串 P(i, ...
分类:
其他好文 时间:
2020-09-17 16:29:15
阅读次数:
24
题目: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案 示例 2: 输入: "cbbd" 输出: "bb" 解题思路 对于一个子串而言,如果它是回文串,并且长度大于 ...
分类:
编程语言 时间:
2020-08-03 12:20:40
阅读次数:
78
在字符串的头部插入'$',在每个字符之间插入'#'. 用p数组记录以某点为中心的最长回文半径,会发现,最长回文子串长度$maxlenth=p[i]-1$. 那么如何去求p数组呢?我们遍历每个字符,记录回文串能延伸到的最右端的位置$mx$,之后我们再去判断. (1) mx>i: 1:i的右边界小于mx ...
分类:
编程语言 时间:
2020-07-31 14:09:26
阅读次数:
94
题目描述链接:https://leetcode-cn.com/problems/longest-palindromic-substring/ 解题思路:动态规划问题。 (1)状态标识dp[i][j]=0标识s[i]到s[j]这个子序列不为回文子串,dp[i][j]=1标识其为回文子串 (2)边界,对 ...
分类:
其他好文 时间:
2020-07-30 22:17:25
阅读次数:
96
1. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb"动态规划1、当 i 和 j 的差距等于小于 ...
分类:
其他好文 时间:
2020-07-21 14:24:39
阅读次数:
91
简述 Manacher算法,又称马拉车算法,它是用于求一个字符串的最长回文子串长度的算法,时间和空间复杂度为O(n)。 算法思想 求一个字符串的最长回文子串长度,我们如果用暴力来做,我们就要取出这个串的所有子串,然后判断这个子串是不是回文串,复杂度是n方的。 那么马拉车为何如此神奇能做到O(n)呢? ...
分类:
编程语言 时间:
2020-07-17 22:10:08
阅读次数:
116
题目描述 输入两个字符串A和B,合并成一个串C,属于A和B的字符在C中顺序保持不变。如"abc"和"xyz"可以被组合成"axbycz"或"abxcyz"等。 我们定义字符串的价值为其最长回文子串的长度(回文串表示从正反两边看完全一致的字符串,如"aba"和"xyyx")。 需要求出所有可能的C中价 ...
分类:
其他好文 时间:
2020-07-15 01:21:32
阅读次数:
53
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.c ...
分类:
其他好文 时间:
2020-06-27 11:39:29
阅读次数:
67