zoukankan      html  css  js  c++  java
  • 九度oj 题目1252:回文子串

    题目描述:

    输入一个字符串,输出该字符串中对称的子字符串的最大长度。
    比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。

    输入:

    存在多组数据,每组数据一行字符串,长度不大于100。

    输出:

    输出回文子串的最大长度。

    样例输入:
    google
    样例输出:
    4

     1 #include <cstdio>
     2 #include <cstdlib>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <iostream>
     6 #include <cmath>
     7 char temp[102];
     8 int cnt[102];
     9 
    10 int findHJ(int n, int len) {
    11     int i = n-1, j = n+1;
    12     int ans = 1;
    13     while(i >= 0 && j < len) {
    14         if(temp[i] != temp[j]) {
    15             return ans;
    16         }
    17         i--;
    18         j++;
    19         ans = ans + 2;
    20     }
    21     return ans;
    22 }
    23 
    24 int findHO(int n, int len) {
    25     if(n + 1 > len-1) {
    26         return 1;
    27     }
    28     if(temp[n] != temp[n+1]) {
    29         return 1;
    30     }
    31     int i = n-1, j = n+2;
    32     int ans = 2;
    33     while(i >= 0 && j < len) {
    34         if(temp[i] != temp[j]) {
    35             return ans;
    36         }
    37         i--;
    38         j++;
    39         ans = ans + 2;
    40     }
    41     return ans;
    42 }
    43 
    44 int main(int argc, char const *argv[])
    45 {
    46     while(scanf("%s",temp) != EOF){
    47         int len = strlen(temp);
    48         int max = 0;
    49         for(int i = 0; i < len; i++) {
    50             int temp = findHJ(i, len);
    51             if(max < temp) {
    52                 max = temp;
    53             }
    54             temp = findHO(i, len);
    55             if(max < temp) {
    56                 max = temp;
    57             }
    58         }
    59         printf("%d
    ",max);
    60     }
    61         
    62     return 0;
    63 }
  • 相关阅读:
    Codeforces 1184C1. Heidi and the Turing Test (Easy)题解
    CodeChef Chef and Digit Jumps 题解
    CodeChef Squirrel and chestnut 题解
    Atcoder Beginner Contest 082 C
    Atcoder Beginner Contest 081 C
    Atcoder Beginner Contest 080 C
    Atcoder Beginner Contest 079 C
    Atcoder Beginner Contest 078 C
    Topcoder 10524(SRM451 Div.1 C) BrickPuzzle题解
    广义表是非线性结构
  • 原文地址:https://www.cnblogs.com/jasonJie/p/5769652.html
Copyright © 2011-2022 走看看