整理了一下关于回文子序列和回文子串的程序。 其中(1)和(2)是采用动态规划的思想写出的回文子序列的程序,这种子序列就是在原始的串中可以不连续,比如对于那种要求删除几个字符来得到最长的回文字符串的题就是这种情况。 比如caberbaf. 最长的子序列是5 abeba 或者abrba。而子串最长只有1 ...
分类:
其他好文 时间:
2016-04-05 12:29:31
阅读次数:
192
const这个系列博大精深,在学习过程一点一点积累记录。但是由于随笔在发布之后不能修改,有了新的想法之后不能再在原随笔上修改,只好用一个个系列来慢慢积累。 哈哈,在发布之后发现是可以继续编辑的,好吧,不管了,这种方式挺好。 正文: 昨晚接触到一个算法题目,回文字符串,在网上找了某段代码,但是发现有点 ...
分类:
编程语言 时间:
2016-04-05 00:27:09
阅读次数:
297
题目:回文字符串 思路:找准状态以及决策,就可以了; 形如:E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最长公共子序列) 变形即可; dp[i][j]是第i位置开始长度为j的最小添加的字符串的数量; ...
分类:
其他好文 时间:
2016-04-04 22:38:50
阅读次数:
308
全部回文字的结构特征例如以下: 假设字符数是偶数,那么它在结构上表现为:一个字符序列连着还有一个字符同样但次序恰好相反的字符序列。 假设字符数为奇数,那么它在结构上表现为:一个字符序列连着还有一个字符同样但次序恰好相反的字符序列,可是这两个序列中间共享一个同样的字符。 sed命令可以记住之前匹配的子 ...
分类:
系统相关 时间:
2016-04-02 12:07:13
阅读次数:
268
题目来源: https://leetcode.com/problems/palindrome-partitioning/ 题意分析: 给定一个字符串s,将s拆成若干个子字符串,使得所有的子字符串都是回文字符串,返回所有这样的子字符串集合。比如s = “aab”,那么返回[["aa","b"],["a ...
分类:
编程语言 时间:
2016-03-28 21:55:03
阅读次数:
271
题目链接:http://poj.org/problem?id=1159 解题报告: 1、LCS的状态转移方程为 if(str[i-1]==str[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); 2、由于
分类:
其他好文 时间:
2016-02-29 22:54:16
阅读次数:
158
1 #include "stdafx.h" 2 #include "iostream" 3 4 using namespace std; 5 6 int isechol (const char* str) 7 { 8 int length = strlen(str); 9 for (int i=0;
分类:
其他好文 时间:
2016-02-23 11:10:59
阅读次数:
124
所谓回文字符 串就是指正读反读均相同的字符序列,如“席主席”、“记书记”、“aha”和“ahaha”均是回 文,但“ahah”不是回文。 通过栈这个数据结构我们将很容易判断一个字符串是否为回文。 1 // 4. 判断回文字符串 2 char a[9], s[9]; 3 int i, len, mid
分类:
编程语言 时间:
2016-01-27 17:11:31
阅读次数:
172
回文子串 总时间限制:1000ms 内存限制:65536kB描述 给定一个字符串,输出所有长度至少为2的回文子串。 回文子串即从左往右输出和从右往左输出结果是一样的字符串, 比如:abba,cccdeedccc都是回文字符串。输入 一个字符串,由字母或数字组成。长度500以内。输出 输出所有的回文子...
分类:
其他好文 时间:
2015-12-26 11:28:35
阅读次数:
208
假设将 s 分割为两段,[0, i-1], [i, n-1],若 [0, i-1] 为回文字符串,则 ( [i, n-1] 的最小分割次数字符串数 + 1 ) 便是 s 以 i 为分割点最小分割情况的子字符串数。 将 i 从 1 到 n-1 遍历一边,便得到 s 依次以 i 为分割点得最小分割情...
分类:
其他好文 时间:
2015-12-13 07:11:53
阅读次数:
176