以上写了一个返回最长回文子串的程序(1000个a,回文字串就是如abcddcba、bcb,左右两边相同,当然a一个字符也是),之前使用的test1总是500以上的执行时间,时间总是无法降低,最后问题落到了两个截取字串位置上,经过修改,test2成功降低执行时间。 test1 使用 sub 截取字符串 ...
分类:
其他好文 时间:
2018-09-10 16:14:44
阅读次数:
241
题目: 给定一个字符串 s,找到 s 中最长的回文子串。 示例 1: 示例 2: 方法1:暴力求解 思路:可以通从两端到中间遍历字符串,如果碰到字符串是回文串,则该回文串一定是是最长回文串。 效果:判断的整个过程其实有三个内部循环,时间复杂度接近 O(n^3) ,空间复杂度O(n) 方法2:动态规划 ...
分类:
编程语言 时间:
2018-09-09 16:03:46
阅读次数:
159
/*1088 最长回文子串基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str,输出Str里最长回文子串的长度。Input输入Str(Str的长度 <= 1000)Out ...
分类:
其他好文 时间:
2018-09-05 21:49:08
阅读次数:
175
裸题。原理看代码很好理解的。 1 //hiho 第1周 2 #include <set> 3 #include <map> 4 #include <queue> 5 #include <deque> 6 #include <stack> 7 #include <cmath> 8 #include < ...
分类:
其他好文 时间:
2018-09-05 21:34:50
阅读次数:
125
题意: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: 思路: 1、暴力法,O(n^3),时间复杂度不可取 2、动态规划 思考,当S(i,j)为回文串,并且Si-1 == Sj+1 时,可得到S(i-1,j+1)必然为回文串 则,如下状 ...
分类:
其他好文 时间:
2018-08-30 21:45:20
阅读次数:
137
描述:给一个字符串s,查找它的最长的回文子串。s的长度不超过1000。 ...
分类:
其他好文 时间:
2018-08-23 19:19:25
阅读次数:
185
题意:问你最少加几个字母使所给串变成回文串。 思路:一开始打算将正序和逆序都hash,然后用提取前缀后缀的方法来找,但是RE了,debug失败遂弃之。后来发现可以直接hash,一边hash一边比较。我们只需找出正序hash值和逆序hash相同的最长串就是最长回文子串。 代码: ...
分类:
其他好文 时间:
2018-08-23 15:42:22
阅读次数:
202
很久没有写博客了 啪啪啪 写一些东西吧 最长回文子串怎么求呢 首先我们得知道什么是子串,给你一个长长的串,里面任意连续的一段就是它的子串,当然一个字符也是子串 接着什么是回文串呢 不好描述 但是看例子很容易懂:aba 121 1221 1 然后我们有一种很显然的寻找方法 当然是枚举中点 然后尽可能的 ...
分类:
其他好文 时间:
2018-08-19 15:46:34
阅读次数:
135
原文地址:https://segmentfault.com/a/1190000008484167 博主讲的很好 一:背景 给定一个字符串,求出其最长回文子串。例如: 以上问题的传统思路大概是,遍历每一个字符,以该字符为中心向两边查找。其时间复杂度为$O(n^2)$,效率很差。 1975年,一个叫Ma ...
分类:
编程语言 时间:
2018-08-14 14:34:22
阅读次数:
146
题意:给你一个字符和一个字符串让你求出最长回文子串并且输出来,答案需要根据给出的字符转换一下,就是将给出的字符认定为a,然后依次向后推; 解题思路:manacher模板+一些处理 代码: ...
分类:
其他好文 时间:
2018-08-11 13:00:11
阅读次数:
124