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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

蓝桥杯第六届国赛JAVA真题----切开字符串

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯第六届国赛JAVA真题----切开字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
標題:切開字符串

Pear有一個字符串,不過他希望把它切成兩段。
這是一個長度為N(<=10^5)的字符串。
Pear希望選擇一個位置,把字符串不重復不遺漏地切成兩段,長度分別是t和N-t(這兩段都必須非空)。
Pear用如下方式評估切割的方案:
定義“正回文子串”為:長度為奇數的回文子串。
設切成的兩段字符串中,前一段中有A個不相同的正回文子串,后一段中有B個不相同的非正回文子串,則該方案的得分為A*B。

注意,后一段中的B表示的是:“...非正回文...”,而不是: “...正回文...”。
那么所有的切割方案中,A*B的最大值是多少呢?

【輸入數據】
輸入第一行一個正整數N(<=10^5)
接下來一行一個字符串,長度為N。該字符串僅包含小寫英文字母。
【輸出數據】
一行一個正整數,表示所求的A*B的最大值。
【樣例輸入】
10
bbaaabcaba
【樣例輸出】
38
【數據范圍】
對于20%的數據,N<=100
對于40%的數據,N<=1000
對于100%的數據,N<=10^5


資源約定:
峰值內存消耗(含虛擬機) < 512M
CPU消耗? < 2000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。

注意:主類的名字必須是:Main,否則按無效代碼處理。

思路:藍橋杯有不少涉及字符串拆分的題目,思路都很清晰,但是實現起來也會有不少細節需要注意,這個題目雖然一開始不太能理解題意,但是我們至少知道需要求判斷回文串這可就是下面代碼中的huiwen()(當然題目中進一步要求了是長度為奇數的回文串),對于一個字符串來說,它的回文子串是很多的,所以我們還需要進行循環處理,這就是下面代碼中的panduan()。另一方面,對于B的要求又有不同,我們很難求解出來非正回文串的個數,但是我們可以求出一個字符串全部的子串個數,這里對應quan(),再減去正回文串的個數,即可得到B。

完整代碼如下:

import java.util.HashSet; import java.util.Scanner; import java.util.Set;public class Main {static int n;static String str = new String();static int max = 0;static int A, B, C;public static void main(String[] args) {Scanner in = new Scanner(System.in);n = in.nextInt();str = in.next();for (int t = 1; t < n-1; t++) {A = panduan(str.substring(0, t));B = quan(str.substring(t, n)) - panduan(str.substring(t, n));if (max < A*B) {max = A*B;}}System.out.println(max);}/*** B的要求是找出 不相同的非正回文子串 這里采用曲線救國的方案,求出B的 全部不相同子串 的個數,減去B中 不相同的正回文子串 的個數* * */private static int quan(String sub) {// TODO Auto-generated method stubSet<String> set = new HashSet<String>();for (int i = 1; i <= sub.length(); i++) {for (int start = 0; start <= sub.length()-i; start++) {String s = sub.substring(start, start+i);set.add(s);}}return set.size();}/*** 對于一個字符串,查找其中包含的正回文串個數* */private static int panduan(String sub) {// TODO Auto-generated method stubSet<String> set = new HashSet<String>();set.clear();for (int i = 1; i <= sub.length(); i+=2) {for (int start = 0; start <= sub.length()-i; start++) {String s = sub.substring(start, start+i);if (huiwen(s) == true) {set.add(s);}}}return set.size();}/*** 判斷回文* */private static boolean huiwen(String s) {// TODO Auto-generated method stubfor (int i = 0; i < s.length()/2; i++) {if (s.charAt(i) == s.charAt(s.length()-1-i)) {continue;} else {return false;}}return true;} }

總結

以上是生活随笔為你收集整理的蓝桥杯第六届国赛JAVA真题----切开字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产又爽又猛又粗的视频a片 | 麻豆高清免费国产一区 | 亚洲精品久久 | 一区二区三区不卡视频在线观看 | 91九色国产视频 | 成人黄色免费网址 | 亚洲www在线观看 | 青青草一区二区 | 九九热精品视频在线播放 | 人人射视频 | 亚洲熟妇av日韩熟妇在线 | 97日韩精品| 极品少妇在线 | 亚洲av成人精品午夜一区二区 | 久久国产色 | 88国产精品| 99r精品视频| 欧美在线视频一区二区三区 | 国产主播一区二区 | 椎名由奈av一区二区三区 | 欧美11一13sex性hd | 自拍偷拍999 | 国产一二三在线观看 | 亚洲午夜精品一区 | 日本韩国欧美一区二区三区 | 国产农村妇女毛片精品久久麻豆 | 朋友的姐姐2在线观看 | 国产香蕉视频在线 | 国产精品视频导航 | 泰国午夜理伦三级 | 亚洲一区免费视频 | 无码日韩精品一区二区 | 少妇一夜三次一区二区 | 米奇影音 | 日韩欧美第一页 | 91成人精品国产刺激国语对白 | 欧美性受xxxx | 黄色激情视频在线观看 | 成人在线观看你懂的 | 日本美女性高潮 | 精品人妻一区二区三区蜜桃 | 麻豆传谋在线观看免费mv | 亚洲一区二区三区免费观看 | 中文字幕一区二区三区视频 | 丁香av | 欧美日韩亚洲一区 | 91伦理在线| 国产成人福利 | 欧美性xxxxx 亚洲特黄一级片 | 欧美视频一区二区三区在线观看 | 国产传媒欧美日韩 | 亚洲乱熟女一区二区三区小说 | 黄色av观看 | 免费成人一级片 | 亚洲av成人精品日韩在线播放 | 欧美人与动物xxxxx | 年下总裁被打光屁股sp | 久久久精品人妻一区二区三区色秀 | 国产一区二区三区在线视频观看 | 高h捆绑拘束调教小说 | 色网站观看 | 国产又黄又嫩又滑又白 | 日韩高清精品免费观看 | h亚洲| 在线日韩中文字幕 | 亚洲a免费 | 日韩精品视频三区 | 精品香蕉99久久久久网站 | 欧美在线一区二区三区四区 | 国产精品一区二区三区四区 | 波多野结衣视频一区 | 色妞综合网 | 两个女人互添下身爱爱 | 欧美三区在线观看 | 国产一区二区三区视频播放 | 国产视频第一页 | 日韩一区二区中文字幕 | 胖女人做爰全过程 | 成人午夜视频免费在线观看 | 中国大陆高清aⅴ毛片 | 欧美高清videos高潮hd | 亚洲午夜免费 | 青青久久av北条麻妃黑人 | 黄色福利社 | 欧美日韩操 | 密乳av | 日韩啪啪网站 | 18p在线观看 | 884aa四虎影成人精品一区 | 91av在| 成年人看的免费视频 | www.国产.com| 黄网站在线免费 | av小说免费在线观看 | 国产电影一区二区三区 | 亚洲av片一区二区三区 | 99久久99久久精品国产片桃花 | 欧美日韩一本 | 男生尿隔着内裤呲出来视频 |