L2-008 最长对称子串 (25 分)(双指针)

简介: L2-008 最长对称子串 (25 分)(双指针)

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


输入格式:

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


输出格式:

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


输入样例:

Is PAT&TAP symmetric?

结尾无空行


输出样例:

11

结尾无空行


#include<iostream>
using namespace std;
int main()
{
    int max=0;
    string s;
    getline(cin,s);
    for(int i=0;i<s.size();i++)//两个相邻元素对称
    {
        int k=0,l=i,r=i+1;
        while(l>=0&&r<s.size()&&s[l]==s[r])
        {
            l--,r++;
            k+=2;
        }
        if(max<k) max=k;
    }
    for(int i=0;i<s.size();i++)//关于中间的字母对称
    {
        int k=1,l=i-1,r=i+1;
        while(l>=0&&r<s.size()&&s[l]==s[r])
        {
            l--,r++;
            k+=2;
        }
        if(max<k) max=k;
    }
    cout<<max;
    return 0;
}


目录
相关文章
|
6月前
|
关系型数据库 测试技术 RDS
【动态规划】【字符串】【状态压缩】943 最短超级串
【动态规划】【字符串】【状态压缩】943 最短超级串
【Leetcode -521.最长特殊序列 -541.反转字符串Ⅱ】
【Leetcode -521.最长特殊序列 -541.反转字符串Ⅱ】
31 0
|
5月前
|
存储 算法 数据可视化
哈希表法快速求解最长连续序列 | 力扣128题详细解析
哈希表法快速求解最长连续序列 | 力扣128题详细解析
|
5月前
|
算法
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
|
6月前
代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
62 0
|
6月前
|
算法 程序员 索引
【算法训练-动态规划 三】【双序列DP问题】最长重复子数组、最长公共子串、最长公共子序列、编辑距离
【算法训练-动态规划 三】【双序列DP问题】最长重复子数组、最长公共子串、最长公共子序列、编辑距离
103 0
|
算法 C++
剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)
剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)
算法修炼Day57|647. 回文子串 ● 516.最长回文子序列
算法修炼Day57|647. 回文子串 ● 516.最长回文子序列
最长不重复子串的有趣解法
最长不重复子串的有趣解法
135 0
|
算法 C++
C++/PTA 最长对称子串
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。
87 0