日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

九度oj 题目1252:回文子串

發布時間:2025/4/9 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九度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\n",max); 60 } 61 62 return 0; 63 }

?

轉載于:https://www.cnblogs.com/jasonJie/p/5769652.html

總結

以上是生活随笔為你收集整理的九度oj 题目1252:回文子串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。