精华内容
下载资源
问答
  • 【PTA】最长对称子串
    2022-04-23 09:43:10

    对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。

    输入格式:

    输入在一行中给出长度不超过1000的非空字符串。

    输出格式:

    在一行中输出最长对称子串的长度。

    样例:">输入样例:

    Is PAT&TAP symmetric?
    

    输出样例:

    11

     补充样例(测试点3,5)

    l

    1

    #include<stdio.h>
    #include<string.h>
    int main(){
    	char s[1010];
    	gets(s);
    	int max=0;
    	int str=strlen(s);
    	for(int i=0;i<str;i++){
    		for(int k=str-1;k>=i;k--){         //从字符串的最后一位开始寻找与前面匹配的字符
    			if(s[i]==s[k]){        //找到后进入循环,开始寻找最长对称字串
    				int w=0,j=0;
    				while(1){
    					if(s[i+j]==s[k-j]){
    						w++;
    						j++;
    					}
    					else{
    						break;
    					}
                        if(i+j>str || k-j<0)        //如果长度超出原本字符串的长度,结束循环
                            break;
    				}
    			if(w>max){        //本次字符串的长度大于上次的,更新max的值
    			max=w;
    			}}
    		}
    		
    	}
    	printf("%d\n",max);
    	return 0;
    } 

     

    更多相关内容
  • 7-6 最长对称子串 (25分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的...
  • 最长对称子串

    2021-04-16 15:06:43
    给定一个字符串(数字或大小写字母), 找出最长对称子串(如有多个,输出任意一个)。 例如: 输入:“abbaad” 输出:“abba” 输入描述: 字符串 输出描述: 字符串 示例1: 输入 a1223a 输出 22 ...

    (java实现)


    题目描述:

    给定一个字符串(数字或大小写字母), 找出最长的对称的子串(如有多个,输出任意一个)。
    例如:
    输入:“abbaad”
    输出:“abba”

    输入描述:

    字符串

    输出描述:

    字符串

    示例1:

    输入

    a1223a

    输出

    22


    问题分析:

    解题思路:
    方法一:判断字符串的每一个子串,若是对称的,则求出它的长度即可。这种办法对每一个子串,从两头向中间判断是不是子串。
    暴力法:总的时间复杂度为O(n^3),
    方法二:与方法一正好相反,字符串中的每一个开始,向两边扩展,此时可分为两种情况:
    (1)对称子串长度是奇数时,以当前字符为对称轴向两边扩展比较;
    (2)对称子串长度是偶数时,以当前字符和它右边的字符为对称轴向两边扩展;
    该种方法的时间复杂度是O(n^2)。

    思路一:Manacher算法(O(n))
    求回文串时需要判断其奇偶性,也就是求aba和abba的算法略有差距。然而,这个算法做了一个简单的处理,很巧妙地把奇数长度回文串与偶数长度回文串统一考虑,也就是在每个相邻的字符之间插入一个分隔符,串的首尾也要加,当然这个分隔符不能再原串中出现,一般可以用‘#’或者‘$’等字符(从而不需要考虑长度是奇数还是偶数)。

    例如:
    原串:abaab
    新串:#a#b#a#a#b#
    这样一来,原来的奇数长度回文串还是奇数长度,偶数长度的也变成以‘#’为中心的奇数回文串了。
    接下来就是算法的中心思想,用一个辅助数组P记录以每个字符为中心的最长回文半径,也就是P[i]记录以S[i]字符为中心的最长回文串半径。P[i]最小为1,此时回文串为Str[i]本身。
    为了防止求P[i]向两边扩展时可能数组越界,我们需要在数组最前面和最后面加一个特殊字符,令P[0]=‘$’,最后位置默认为‘\0’不需要特殊处理 。
    我们可以对上述例子写出其P数组,如下:
    新串: # a # b # a # a # b #
    P[] : 1 2 1 4 1 2 5 2 1 2 1
    我们可以证明P[i]-1就是以S[i]为中心的回文串在原串当中的长度。
    证明:
    1、显然L=2*P[i]-1即为新串中以S[i]为中心最长回文串长度。
    2、以S[i]为中心的回文串一定是以#开头和结尾的,例如“#b#b#”或“#b#a#b#”所以L减去最前或者最后的‘#’字符就是原串中长度的二倍,即原串长度为(L-1)/2,化简的P[i]-1。
    那么怎么计算P[i]呢?该算法增加两个辅助变量(其实一个就够了,两个更清晰)id和mx,其中id表示最大回文子串中心的位置,mx则为id+P[id],也就是最大回文子串的边界。依次从前往后求得P数组就可以了,这里用到了DP(动态规划)的思想,也就是求P[i]的时候,前面的P[]值已经得到了,我们利用回文串的特殊性质可以进行一个大大的优化。我先把核心代码贴上:
    这个算法的关键点就在这里了:
    if(mx > i)
    P[i] >= MIN(P[2 * id - i], mx - i)

    //记j = 2 * id - i,也就是说 j 是 i 关于 id 的对称点。
    if (mx - i > P[j]) 
        P[i] = P[j];
    else /* P[j] >= mx - i */
        P[i] = mx - i; // P[i] >= mx - i,取最小值,之后再匹配更新。
    

    当 mx - i > P[j] 的时候,以S[j]为中心的回文子串包含在以S[id]为中心的回文子串中,由于 i 和 j 对称,以S[i]为中心的回文子串必然包含在以S[id]为中心的回文子串中,所以必有 P[i] = P[j],见下图:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kl2P11Tw-1618556905657)(https://uploadfiles.nowcoder.com/images/20210322/4479402_1616382428973/4A47A0DB6E60853DEDFCFDF08A5CA249 “图片标题”)]
    当 P[j] >= mx - i 的时候,以S[j]为中心的回文子串不一定完全包含于以S[id]为中心的回文子串中,但是基于对称性可知,下图中两个绿框所包围的部分是相同的,也就是说以S[i]为中心的回文子串,其向右至少会扩张到mx的位置,也就是说 P[i] >= mx - i。至于mx之后的部分是否对称,就只能老老实实去匹配了。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ojvh8BYv-1618556905660)(https://uploadfiles.nowcoder.com/images/20210322/4479402_1616382438773/FB5C81ED3A220004B71069645F112867 “图片标题”)]
    对于 mx <= i 的情况,无法对 P[i]做更多的假设,只能P[i] = 1,然后再去匹配了。

    动态规划(DP)
    思想:DP的考虑源于暴力方法,暴力方法是寻找一个字符串的所有子串,需要O(n2)的开销,然后对于每一个子串需要O(n)的开销来判断是否是回文,故暴力方案为O(n3),但是这里有一个问题,就是在暴力的时候有重复判断;
    例如,如果子串X为回文,那么sXs也是回文;如果X不是回文,那么sXs也不是回文;另外,ss也是回文。所以这里使用DP我们可以按照子串长度从小到大的顺序来构建DP状态数组,使用一个二维数组dp[i][j]记录子串[i-j]是否为回文子串,那么我们就有初始化和自底向上的方案了;
    初始化:单字符串和相等的双字符串为回文
    自底向上构造:X[i]==X[j] && dp[i+1][j-1]==1 则dp[i][j] = 1

    相关知识:

    Manacher算法和动态规划。


    参考代码:

    思路一实现:

    import java.util.*;
    public class Main {
            
        public static void main(String[] args)
        {
            Scanner input = new Scanner(System.in);
            while (input.hasNext())
            {
                String line = input.nextLine();
                StringBuilder str = new StringBuilder();
                str.append("$#");
                for (int i=0; i<line.length(); i++)
                {
                    str.append(line.charAt(i)+"#");
                }
                int[] len = new int[str.length()];
                //pos为中心位置,mx为右侧最远,resMax为最长子串长度,resId为下标
                int pos=0, mx=0, resMax=0, resId=0;
                for (int i=1; i<str.length(); i++)
                {
                    //马拉车算法关键步骤
                    if (mx > i)
                    {
                        len[i] = Math.min(len[2*pos-i],mx-i);
                    }
                    else
                    {
                        len[i] = 1;
                    }
                    //
                    /*
                    while (str.charAt(i+len[i]) == str.charAt(i-len[i]))
                    {
                        len[i]++;
                    }*/
                    while (i+len[i]<str.length() && i-len[i]>-1)
                    {
                        if (str.charAt(i+len[i]) == str.charAt(i-len[i]))
                            len[i]++;
                        else
                            break;
                    }
                    //若长度有变化,则更新长度
                    if (mx-i < len[i])
                    {
                        mx = len[i]+i;
                        pos = i;
                    }
                    //记录最长信息
                    if (resMax < len[i])
                    {
                        resMax = len[i];
                        resId = i;
                    }
                }
                int begin = (resId-resMax)/2;
                String res = line.substring(begin, begin+resMax-1);
                //C++ stringvar.substr(start [, length ])
                //String res = line.substring((resId-resMax)/2, resMax-1);
                System.out.println(res);
            }
        }
    }
    

    思路二实现:

    
    
    展开全文
  • 问题描述:输入一个字符串,输出该字符串中最大对称子串的长度。例如输入字符串:“avvbeeb”,该字符串中最长的子字符串是“beeb”,长度为4,因而输出为4。解决方法:中序遍历一,全遍历的方法:1.全遍历的方法,...

    问题描述:

    输入一个字符串,输出该字符串中最大对称子串的长度。例如输入字符串:“avvbeeb”,该字符串中最长的子字符串是“beeb”,长度为4,因而输出为4。

    解决方法:中序遍历

    一,全遍历的方法:

    1.全遍历的方法,复杂度O(n3);

    2.遍历原字符串的所有子串,然后判断每个子串是否对称;

    实现方法是:我们让一个指针i从头至尾遍历,我们用另一个指针j从j=i+1逐一指向i后面的所有字符。就实现了原串的所有子串的遍历(子串为指针i到j中间的部分);

    最后判断得到的子串是否对称即可;

    二,此外还有个巧妙的方法,值得和大家分享一下(这是自己想的哦,转载请注明出处):

    原串是str1=“avvbeeb”,将其翻转得到str2=“beebvva”,然后错位比较:

    1:               avvbeeb

    str2:beebvva             (上下对齐的元素是a;a比较)

    2:              avvbeeb

    str2:beebvva           (上下对齐的量元素av;va比较,不对称)

    …………

    11:              avvbeeb

    str2:                  beebvva           (上下对齐的量元素beeb;beeb比较,得到最长对称子串)

    …………

    该方法要移动m+n次,每次元素比较个数从1到m不等,复杂度O(n2);

    三,最值得推荐的还是下面的方法,复杂度O(n):

    (以下都是自己想的自己写的,码字实在辛苦,转载请注明出处)

    1.起始这道题分析起来非常扯淡,花了我两天的空闲时间才搞定!

    2.分析过程如下:

    3. 1-k位的元素中,其中最长对称子串(包含第k位元素)长度为f(n),我们讨论f(n+1)与f(n)的关系;

    4.比如 b xxx a其中xxx代表对称子串,a为第n+1位元素,我们现在求f(n+1);

    5.我们分析所有情况:(我们用xxx代表n位对称子串)

    数组A存放字符数组;

    f(n)表示f(n)位元素对应子串长度;

    分析如下A[n+1]=a的子串长度值f(n+1)值是多少:

    1:bxxxa  :A[n+1]位元素a与对称子xxx串前的一位元素b不同时;

    1.1: a与左相邻元素不同,即xxx=bxb时,bbxba不是对称子串,f(n+1)=1;

    1.2: a与左相邻元素相同,即xxx=axa时,baxaa,如果是对称子串,则x这个未知部分必须全部是a,即

    baaaa,f(n+1)=f(n)+1,否则不是对称子串f(n+1)=1;

    axxxa  :A[n+1]位元素a与对称子串前一位元素相同;

    2.这种情况f(n+1)位元素a与其左相邻元素是否相同都不影响f(n+1)的结果,

    比如:a bacab a        a aaaaa a

    串长:1 13135 7        1 23456 7        也就是xxx不论是何种情况的对称串,f(n+1)=f(n)+2;

    6.综上分析,串A[n+1]位的值f(n+1)只和串中第A[n]位字符以及第A[n-f(n)-1]有关;

    (5中分析的f(n+1)=1的情况可以忽略不考虑,因为最小对称子串值>=1)

    1: A[n+1]和A[n-f(n)-1]相同;

    a                           xxx             x              a           :acca       aaaa      acdca

    A[n-f(n)-1]                                   A[n]      A[n+1]

    f(n)     f(n+1)    :1124       1234      11134

    此时f(n+1)=f(n)+2;

    2: A[n+1]和A[n-f(n)-1]不同;A[n+1]和A[n]相同;

    如:  b                    xxx             a             a           :bcacaa       baaaaa

    A[n-f(n)-1]                          A[n]      A[n+1]        :111332       112345

    此时f(n+1)与它前面有几个a有关;

    综上分析代码如下:

    #include

    #include

    #include

    int FUN(char *inp){//求最大对称子串长度

    int maxlen = ;//最大长度

    int len=strlen(inp);

    int record[len];//存包含该位及前个元素最长对称子串

    record[]=;

    int i=;

    for(;i

    int max =;

    if((i-record[i-]-)>= && inp[i] == inp[i-record[i-]-]){

    max = max>(record[i-] + )? max:(record[i-] +);

    }

    int k = ;

    while(inp[i] == inp[i-k]){

    k++;

    }

    max = max>k? max:k;

    record[i] = max;

    printf("----- is:%d\n",record[i]);

    if(record[i]>maxlen) maxlen=record[i];

    }

    return maxlen;

    }

    int main(){

    char *input="abadddkeipdldlfk";

    int retlen = FUN(input);//从前向后递归

    printf("max length is:%d\n",retlen);

    return ;

    }

    输出结果:

    xu@xu-ThinkPad-X61:~/algorithm$ gcc LongSunmetricSub.c

    xu@xu-ThinkPad-X61:~/algorithm$ ./a.out

    ----- is:1

    ----- is:3

    ----- is:1

    ----- is:2

    ----- is:3

    ----- is:1

    ----- is:1

    ----- is:1

    ----- is:1

    ----- is:1

    ----- is:1

    ----- is:3

    ----- is:1

    ----- is:1

    ----- is:1

    max length is:3

    L2-008&period; 最长对称子串

    L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 对给定的字符串,本题要求你输出最长对称子串的长度. ...

    天梯赛L2-008 最长对称子串 (字符串处理)

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s&quo ...

    团体程序设计天梯赛-练习集L2-008&period; 最长对称子串

    L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 对给定的字符串,本题要求你输出最长对称子串的长度. ...

    L2-008 最长对称子串 (25 分&rpar; (模拟)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805067704549376 题目: 对给定的字符串,本题要求你输出 ...

    L2-008&period; 最长对称子串(思维题)&ast;

    L2-008. 最长对称子串 参考博客 #include using namespace std; int main() { string s; getline(ci ...

    pat 团体赛练习题集 L2-008&period; 最长对称子串

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s&quo ...

    L2-008 最长对称子串 (25 分&rpar;

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...

    PAT L2-008 最长对称子串&lpar;模拟字符串&rpar;

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...

    天梯杯 L2-008&period; 最长对称子串

    L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 对给定的字符串,本题要求你输出最长对称子串的长度. ...

    随机推荐

    表中排序ID断开重排

    客户需要排序ID和页面的问题序号一致,以前删除过一些问题导致order_id 中间有些断开的. 业务表 T_QUESTION order_id question_id  custom_id --1.创 ...

    request&comma; session&comma; application辨析(待更新)

    作用域 request < session < application 分析 1. request 只在一次请求中有效,当请求发送变化时,信息将失效. 2. session 在当前一次会话 ...

    BZOJ 1697&colon; &lbrack;Usaco2007 Feb&rsqb;Cow Sorting牛排序

    Description 农夫JOHN准备把他的 N(1 <= N <= 10,000)头牛排队以便于行动.因为脾气大的牛有可能会捣乱,JOHN想把牛按脾气的大小排序.每一头牛的脾气都是一个 ...

    C&num;初始化数组的三种方式

    C#声明数组并初始化,有三种方式. 对于一维数组: using System;using System.Data;using System.Configuration;using System.Web ...

    BZOJ3297&colon; &lbrack;USACO2011 Open&rsqb;forgot

    3297: [USACO2011 Open]forgot Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 54  Solved: 38[Submit][ ...

    hdu3715

    hdu3715 题意 给出一个递归的伪代码,当 x[a[dep]] + x[b[dep]] != c[dep],就向下递归,给出a,b,c数组的值 问 dep 最大多少.其中 0 <= c[i] ...

    python面试题一个字符串是否由重复的子字符串组成

    一,给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 输入: "abab" 输出: True 解释: 可由 ...

    一天一个Linux命令--find

    文件查找:(以find为主)  which:查找命令字所在的位置  locate:模糊匹配(只要包含关键字的文件都查找出来)         不是实时的,基于数据库查找, updatedb升级loca ...

    &lbrack;2017BUAA软工助教&rsqb;案例分析小结

    BUAA案例分析小结 一.作业要求 http://www.cnblogs.com/jiel/p/7631784.html 二.统计数据 总人数 神策数据 博客园博客 必应词典 30 1 12 17 三 ...

    linux kernel的cmdline参数解析原理分析【转】

    转自:https://blog.csdn.net/skyflying2012/article/details/41142801 版权声明:本文为博主kerneler辛苦原创,未经允许不得转载. htt ...

    展开全文
  • L2-008 最长对称子串 时间限制 200 ms 内存限制 64 MB 题目描述: 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。...

    L2-008 最长对称子串


    时间限制
    200 ms
    内存限制
    64 MB


    题目描述:

    对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。

    输入格式:
    输入在一行中给出长度不超过1000的非空字符串。

    输出格式:
    在一行中输出最长对称子串的长度。

    输入样例:
    Is PAT&TAP symmetric?
    输出样例:
    11


    给定字符串 求出最长回文字符串的长度


    emmmmmmm

    马拉车板子题


    import java.io.*;
    import java.math.*;
    import java.util.*;
    
    public class Main
    {
    	static String solve(String s)
    	{
    //		插入原来的字符串的长度 在插入一个字符 保证最后为奇数个
    		StringBuilder t = new StringBuilder("$#");
    		for (int i = 0; i < s.length(); i++)
    			t.append(s.charAt(i) + "#");
    		t.append("@");
    
    //		p[i] 表示 以 t[i] 为中心的最长回文字符串
    		int p[] = new int[t.length() + 10];
    
    //		回文子串的右边界 和 中心位置
    		int mx = 0, idx = 0;
    //		中心点 和 最长长度的左半边
    		int cen = 0, len = 0;
    
    		for (int i = 1; i < t.length() - 1; i++)
    		{
    //			如果i在idx为中心,p[i]为半径的范围内,那么i的对称点就是 j = 2 * idx - 1
    //			所以i的回文半径至少是对称点p[j]的半径,或者是要撑破,最少是i到mx距离
    //			否则i比mx大 p[i] = 1
    			p[i] = 1;
    			if (mx > i)
    				p[i] = Math.max(p[2 * idx - i], mx - i);
    
    //			i - p[i] >= 1 保证左边不越界 
    //			i + p[i] < t.length() - 1 保证右边不越界
    //			并且左右两个字符相同
    			while ((i - p[i] >= 1 && i + p[i] < t.length() - 1) && (t.charAt(i - p[i]) == t.charAt(i + p[i])))
    				p[i]++;
    
    			if (mx < p[i] + i)
    			{
    				mx = p[i] + i;
    				idx = i;
    			}
    
    //			找到更长的半径
    			if (len < p[i])
    			{
    				len = p[i];
    				cen = i;
    			}
    		}
    		return s.substring((cen - len) / 2, (cen - len) / 2 + len - 1);
    	}
    
    	public static void main(String[] args)
    	{
    		String s = sc.nextLine();
    		out.println(solve(s).length());
    
    		out.flush();
    		out.close();
    	}
    
    	static Scanner sc = new Scanner(System.in);
    	static PrintWriter out = new PrintWriter(System.out);
    }
    

    马拉车
    马拉车
    马拉车
    马拉车


    如果有说错的 或者 不懂的 尽管提 嘻嘻

    一起进步!!!


    闪现

    展开全文
  • 最长对称子串(回文串)-python
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 ...
  • L2-008 最长对称子串 (25 分)## 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出...
  • L2-008 最长对称子串 (25 分) 思路: 简而言之就是,中心对称法。挨个以每个字符为中心进行展开,每个字符的展开分为两种类型,一种是对称字符串长度为奇数,一种是对称字符串长度为偶数 对给定的字符串,本题要求你...
  • 文章目录 一、题目 二、方法1 1、思路 2、代码 一、题目 对给定的字符串,本题要求你输出最长对称子串的长度。 例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在...
  • 7-4 最长对称子串 (25分) 题目 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出...
  • L2-008 最长对称子串 (25 分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不...
  • 7-4 最长对称子串

    2021-01-11 23:37:19
    7-4 最长对称子串 (25分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过...
  • 最长对称子串 导航7-32 最长对称子串 (300分)一、输入格式二、输出格式1.输入样例:2.输出样例:三、思路:1.暴力算法:2.动态规划: 7-32 最长对称子串 (300分)        对...
  • L2-008 最长对称子串 这道题有一些需要特殊注意的地方 ①最短回文串长度为1,res初始化为1(当原串长度为1时保证答案为1) ②状态转移时,需要保证f[i][j]中区间i~j是整个回文串,回文长度为j-i+1 #include<...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出格式: 在一...
  • L2-008 最长对称子串 (25 分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度...
  • 7-4 最长对称子串 (25分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过...
  • 7-46 最长对称子串 (25 分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不...
  • 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,021
精华内容 3,208
关键字:

最长对称子串