拉两次车,第一次假设最长回文串就在两边 第二次,先使得左右两边判回文,在将剩下的串 在manachar一遍, 比较两种情况取最大值,然后就是输出问题见代码 #include <bits/stdc++.h> using namespace std; const int maxn = 1e6 + 5; ...
分类:
其他好文 时间:
2020-03-31 01:01:15
阅读次数:
71
https://leetcode-cn.com/problems/palindrome-number/ 虽然很简单,还是写一下题解吧。 思路1. 首先判断负数和个位数是0但x不等于0的一定不是回文。然后翻转字符串的一半,判断另一半时候和翻转后的相等。注意:121这种奇数位结构。 1 public c ...
分类:
其他好文 时间:
2020-03-30 09:22:53
阅读次数:
74
D2. Prefix Suffix Palindrome (Hard version) "题目链接" manacher做法 ...
分类:
其他好文 时间:
2020-03-26 19:47:42
阅读次数:
88
Problem : Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. Example 1: Example 2: E ...
分类:
其他好文 时间:
2020-03-25 23:26:15
阅读次数:
73
题目: 给你一个字符串,让你找一个最大回文串,这个回文串由该字符串的前缀和后缀一起组成 思路: 先处理字符串的两端直到两端不匹配为止,然后对中间的字符串跑一遍Manacher算法,然后 找出起始点为1或终止点为s.size()的最大回文串输出(这样才能保证满足前缀或后缀的条件),再分别输出即可 链接 ...
分类:
其他好文 时间:
2020-03-23 20:29:32
阅读次数:
73
链接:https://leetcode cn.com/problems/valid palindrome/ 算法 时间复杂度:$O(logn)$ 代码 ...
分类:
其他好文 时间:
2020-03-23 15:26:56
阅读次数:
53
"原题链接" ~~CF 127个测试点,好评~~ 简要题意: 多组数据,问数组中是否有长度 $\geq 3$ 的回文子序列。 我们需要找到本质。 题目不让我们求这个长度,只让我们判断,这是为什么呢? 如果答案是 ,那么必然存在一个长度为 $3$ 的回文子序列。否则为 . 你想,如果原数组的最长回文序 ...
分类:
其他好文 时间:
2020-03-23 09:41:52
阅读次数:
68
题目:传送门 题意:给你字符串 s ,问长度最大的字符串 t = a + b 是什么,其中,t 是回文串, a 是字符串 s 的前缀, b 是字符串 s 的后缀。 思路: 我们先把能构成回文的,前缀和后缀取出来,然后对剩下的字符串,求,最长的前缀回文,最长后缀回文,取两者最大即可。 #include ...
分类:
其他好文 时间:
2020-03-22 17:54:43
阅读次数:
64
如图,这次没有当作字符处理,和昨天的问题相似,改用运算解决。但是没有考虑溢出的情况: class Solution { public boolean isPalindrome(int x) { if (x<0){ return false; } if (x==0){ return true; } i ...
分类:
其他好文 时间:
2020-03-22 00:58:47
阅读次数:
99
"Link" 题意: $a$ 是 $s$ 的前缀,$b$ 是 $s$ 的后缀 使 $a+b$ 是可以找到的最大的回文串 $a$ 或 $b$ 可以是空串 思路: 找出最大长度 $k$ 使 $s[0,k 1]+s[len(s) k,len(s) 1]$ 是回文串 再用 Manacher 算法求出 $s[ ...
分类:
其他好文 时间:
2020-03-20 20:02:45
阅读次数:
88