地址:http://poj.org/problem?id=1159题目需求:给你一个字符串,求最少添加多少字符可以使之构成回文串。题目解析: 简单做法是直接对它和它的逆序串求最长公共子序列长度len。n-len即为所求。(n为原串长度)即: 最少补充的字母数 = 原序列的长度 — 原串和逆序的最长公...
分类:
其他好文 时间:
2015-01-30 19:30:52
阅读次数:
153
原题地址最初的想法是用动态规划,令palin[i][j]表示s[i..j]是否是回文串,则有递推公式palin[i][j] = s[i] == s[j] && palin[i+1][j-1]。因为递推式只使用相邻层的值,所以编码的时候可以将二维状态数组压缩成一维的。代码: 1 string long...
分类:
其他好文 时间:
2015-01-30 17:03:05
阅读次数:
105
Palindrome
Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
A palindrome is a symmetrical string, that is, a string read identic...
分类:
编程语言 时间:
2015-01-29 10:37:03
阅读次数:
177
A题。。暴力枚举在每个位置添加字符,然后检查一下是不是回文串 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 #define LL long ...
分类:
其他好文 时间:
2015-01-28 00:42:26
阅读次数:
261
题目链接:http://codeforces.com/problemset/problem/505/A题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母,使得新得到的字符串成为回文串。 /********************************....
分类:
其他好文 时间:
2015-01-27 23:26:14
阅读次数:
277
原题地址有人些的做法是判断中序遍历序列是否是回文串,一开始我觉得挺有道理,但是琢磨了一阵觉得没那么简单。比如下面这个树: 1 / 1 / 1中序遍历序列是"111",虽然是回文串但这棵树明显不是对称的。如果要是把NULL也算进去呢?还是上面...
分类:
其他好文 时间:
2015-01-26 14:55:27
阅读次数:
165
一. 问答题
1. 大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串。比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?这么简单的题目对想要成为小米工程师的你来说肯定不是问题。不过提醒一下哦:时间复杂度和空间复杂度越低的算法,得分越高。
C++:
bool isPalindromeNumber(long num)...
分类:
移动开发 时间:
2015-01-26 12:04:08
阅读次数:
157
A. Mr. Kitayuta's Gift (枚举)题意:给一个长度不超过10的串,问能否通过插入一个字符使得新串成为回文串。分析:因为所给的串很多,所以可以枚举 “在哪插入” 和 “插入什么”,写一个二重循环枚举新串,判断是否为回文串。时间复杂度为O(n3)还可只枚举插入位置(在那个位置用一个特...
分类:
其他好文 时间:
2015-01-25 13:46:57
阅读次数:
174
原题地址以前可以用DP枚举所有回文串,但是Leetcode后来增加了几组大数据,用DP会超时。什么!用DP都超时了??那怎么办?答:二分法尝试可能的回文串长度,直到找到最大值需要注意的是,假设现在已经验证了长度为length的回文串不存在,传统的二分法就会去尝试长度为length/2的回文串是否存在...
分类:
其他好文 时间:
2015-01-24 19:57:26
阅读次数:
127
题目大意:给你一串字符串,让你求出来它存在的最长连续的回文串。
解题思路:先把字符串逆序加到数组中,然后用后缀数组求解。两种方法:1,枚举排名,直接比较rank相同的字符串的位置差是不是len。如果是的话,就记录求解;2,枚举地址,求第i地址与第2*len-i+1的lcp的最大值。
PS:需要注意如果多解输出靠前的字符串。
两种写法写在了一起,分别是Del,和Del1函数。
1...
分类:
编程语言 时间:
2015-01-23 21:35:50
阅读次数:
378