zoukankan      html  css  js  c++  java
  • L2-008. 最长对称子串

    L2-008. 最长对称子串

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

    输入格式:

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

    输出格式:

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

    输入样例:

    Is PAT&TAP symmetric?
    

    输出样例:

    11

    分析:从第一个字符开始,向左向右check(偶串和奇数串都要讨论一下)
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int len, l=1;
     4 
     5 //不同指针,直接用变量i j去表示下标就好了 
     6 void solve(char* s){
     7     int len=strlen(s);
     8     int i, j; 
     9     for(i=0; i<len; i++){
    10         //奇数 --即这个回文串可能是奇数串 
    11         for(j=0; i+j<len&&i-j>=0; j++){
    12             if(s[i-j]!=s[i+j])    break;
    13             if(2*j+1>l)    l=2*j+1;
    14         }
    15         //偶数 --即这个回文串可能是偶数串 
    16         for(j=0; i+j+1<len&&i-j>=0; j++){
    17             if(s[i-j]!=s[i+1+j])    break;
    18             if(2*j+2>l) l=2*j+2;
    19         }
    20     }
    21     cout<<l<<endl;
    22 }
    23 int main(){
    24     char str[1002];
    25     gets(str);        //get新技能 
    26     solve(str);
    27         
    28     return 0;
    29 } 
  • 相关阅读:
    shell流程控制
    shell编程变量介绍与表达式详解
    shell编程简介
    反向代理与负载均衡
    存储库之mongodb,redis,mysql
    请求库之requests,selenium
    解析库之re、beautifulsoup、pyquery
    爬虫基本原理
    Django 函数和方法的区别
    Django 知识补漏单例模式
  • 原文地址:https://www.cnblogs.com/ledoc/p/6610067.html
Copyright © 2011-2022 走看看