问题描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。 解题思路: 代码如下: class Solution: def longestPalindrome(self, s: ...
分类:
其他好文 时间:
2020-02-16 13:13:20
阅读次数:
68
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2: 输入: "cbbd"输出: "bb" 解:这题我首先颠倒以下,用的最长公共子串的方法,发现有些情况下是错的, ...
分类:
其他好文 时间:
2020-02-15 18:42:27
阅读次数:
67
解法 比较经典的问题,寻找最长回文子串。Leetcode里提供了多种解法。我采用最直观的解法:中心扩展法。 思路是每次以当前元素为中心向两边扩展,直到遇到不同元素,此时找到一个子串。有两点需要注意的地方: 1)空串和单字符都是回文,直接返回即可。 2)偶数回文和奇数回文的情况。例如:abace是ab ...
分类:
其他好文 时间:
2020-02-15 15:10:53
阅读次数:
57
#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxn=110010; char t[maxn],s[maxn*3]; int p[maxn*3],lens; void ...
分类:
其他好文 时间:
2020-02-08 00:45:03
阅读次数:
77
计算回文字符串最大长度模板题 如果一个字符串正着读和倒着读是一样的,则称它是回文的。 给定一个长度为N的字符串S,求他的最长回文子串的长度是多少。 输入格式 输入将包含最多30个测试用例,每个测试用例占一行,以最多1000000个小写字符的形式给出。 输入以一个以字符串“END”(不包括引号)开头的 ...
分类:
其他好文 时间:
2020-02-07 13:16:22
阅读次数:
71
题目连接 题意:求一个字符串的最长回文子串 题解:是一个Manacher模板题,为了统一奇偶,先预处理在字符间添加间隔,使字符串长度变为偶数,例如"abc"添加分隔符后变成"$#a#b#c#",剩下的就很简单了,这个题也可以用哈希做。就时间复杂度来看Manacher明显比哈希快。 Manacher代 ...
分类:
其他好文 时间:
2020-02-04 23:46:00
阅读次数:
69
Leetcode 5 题目描述 例子 方法一 方法一关键思想,每当我们向右移动时,我们只需要考虑使用这个新字符作为尾巴是否可以产生新的回文字符串,其长度为(当前长度+1)或(当前长度+2)。 方法一优于方法二采用的动态规划。 Java我们提供两种方法,由运行时间,我们可以看出使用char[]性能比s ...
分类:
其他好文 时间:
2020-02-04 00:15:06
阅读次数:
74
"最长回文子串" 题目描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1 示例 2 思路1 回文串的意思就是对称,而对称的东西都应该有一个对称中心,那么找回文串只要找到这个对称中心即可。 ...
分类:
其他好文 时间:
2020-02-02 01:04:55
阅读次数:
61
分析: 完整代码: 1 #include <stdio.h> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 6 const int maxn = 1010; 7 char S[maxn]; 8 int dp[m ...
分类:
其他好文 时间:
2020-02-01 14:21:19
阅读次数:
70
题目链接 https://pintia.cn/problem-sets/1218774283169423360/problems/1218774532776648715 方法一, 见代码 #include <cstdio> #include <iostream> #include <algorith ...
分类:
其他好文 时间:
2020-01-28 23:33:42
阅读次数:
175