lalalala


私信TA

用户名:zhangshuo

访问量:152068

签 名:

像狗一样的学习,像绅士一样地玩耍。

等  级
排  名 6
经  验 30171
参赛次数 10
文章发表 201
年  龄 12
在职情况 学生
学  校 芜湖市第十一中学
专  业

  自我简介:

今日懒惰流下的口水,将会成为明日里伤心的泪水。

解题思路:

思路:仔细读题发现,起始就是找最长对称串。

暴力求出所有子串,判断是不是对称串即可,然后找最大长度。

其中用到了string的一些性质。

比如赋值,直接s1=s2即可。

或赋值某串的一部分 string s2(s1,m,n)  其中s1为待复制的整串,m为开始的位置(下标),n为长度。

还用到了reverse,字符串颠倒函数,颠倒完和原子串对比判断是否相同即可,

用法reverse(s1.begin(),s1.end());







注意事项:





参考代码:

#include<bits/stdc++.h>  

using namespace std;  

int main()  

{   

    string s1;  

    int maxn=0;  

    while(cin>>s1)  

    {  

        if(s1.size() == 1)  

        maxn = 1;  

        else  

        {  

            for(int i=0;i<s1.size()-1;i++)  

            {  

                for(int j=i+1;j<s1.size();j++)  

                {  

                    string s2(s1,i,j-i+1);  

                    string s3(s1,i,j-i+1);  

                    reverse(s2.begin(),s2.end());  

                    if(s2 == s3)  

                    {  

                        if(s2.size() > maxn)  

                        maxn = s2.size();  

                    }  

                }  

            }  

        }  

        cout<<maxn<<endl;  

        maxn = 0;  

    }  

    return 0;  

}   


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

j-i+1这个长度是怎么得出来的呀,我属实看不懂了
2022-01-12 22:17:59
  • «
  • 1
  • »