PAT乙級——1093(字串匹配)Java實現
題目:字串A+B (20 分)
給定兩個字串 A 和 B,本題要求你輸出 A+B,即兩個字串的並集。要求先輸出 A,再輸出 B,但重複的字元必須被剔除。
輸入格式:
輸入在兩行中分別給出 A 和 B,均為長度不超過 106 的、由可見 ASCII 字元 (即碼值為32~126)和空格組成的、由回車標識結束的非空字串。
輸出格式:
在一行中輸出題面要求的 A 和 B 的和。
輸入樣例:
This is a sample test
to show you_How it works
輸出樣例:
This ampletowyu_Hrk
題目分析及實現
我的辦法是暴力破解,考試的時候也沒有想到合適的方法,然後就果不其然的超時了,用Java考試至少少拿了10分。
兩個大迴圈,依次判斷,因為輸出的都是在ascll表上碼值32-126
範圍內的,則當輸出的字串的長度達到 95 時,可以不用比較了,直接輸出即可,後面的全是重複的。
Java還是如約的超時了。
//未AC 16分 兩個超時
import java.util.Scanner;
public class Y3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String one = in.nextLine();
String two = in.nextLine();
in.close();
char[] num1 = one.toCharArray();
char[] num2 = two.toCharArray();
//新增操作多,故使用stringbuilder
StringBuilder stringBuilder = new StringBuilder();
//陣列一
for (int i = 0; i < num1.length; i++) {
//當達到95,直接跳出;
if(stringBuilder.length()==95)
break;
String str =""+num1[i];
//判斷是否存在當前元素,有則跳過,沒有則新增
if(stringBuilder.indexOf(str)!=-1)
continue;
else
stringBuilder.append(num1[i]);
}
//陣列二
for (int i = 0; i < num2.length; i++) {
//當達到95,直接跳出;
if(stringBuilder.length()==95)
break;
String str =""+num2[i];
if(stringBuilder.indexOf(str)!=-1)
continue;
else
stringBuilder.append(num2[i]);
}
System.out.println(stringBuilder);
}
}
如有解決辦法,萬望留言告知,三月份的考試再見。
相關文章
- PAT乙級——1092(陣列排序 自定義sort)Java實現陣列排序Java
- PAT-B 1093 字串A+B 【集合】字串
- PAT 乙級
- PAT乙級1023
- PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】谷歌字串
- 【PAT乙級】1027 列印沙漏
- 【PAT乙級】1017 A除以B
- 【PAT乙級】1065 單身狗
- 【PAT乙級】1052 賣個萌
- 【PAT乙級】1048 數字加密加密
- 【PAT乙級】1066 影像過濾
- 【PAT乙級】1021 個位數統計
- PAT-A Java實現Java
- pat乙級自我回顧:一般錯誤出現原因
- PAT1078字串壓縮與解壓(java實現)字串Java
- PAT乙級 | 1086 就不告訴你 (15分)
- PAT乙級比賽-互評成績計算
- PAT甲級1126~1130|C++實現C++
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- PAT1076 WiFi密碼(java實現)WiFi密碼Java
- PAT1044火星數字(java實現)Java
- PAT1004成績排名(java實現)Java
- PAT1043 輸出PATest(java實現)Java
- PAT1048數字加密(java實現)加密Java
- PAT1019 數字黑洞(java實現)Java
- PAT1029 舊鍵盤(java實現)Java
- PAT 2023 冬 乙 方格填數
- PAT1033 舊鍵盤打字(java實現)Java
- PAT乙級1004 成績排名 (20分)(C語言版)及解析C語言
- 字串匹配字串匹配
- PAT甲級1122 Hamiltonian Cycle (25分)|C++實現C++
- PAT甲級1154 Vertex Coloring (25分)|C++實現C++
- 圖解KMP字串匹配演算法+程式碼實現圖解KMP字串匹配演算法
- 【字串匹配】KMP字串匹配KMP
- PAT甲級1110 Complete Binary Tree (25分)|C++實現C++
- PAT1077互評成績計算(java實現)Java
- 藍橋杯演算法提高——字串匹配(Java)演算法字串匹配Java
- Java使用正則獲取字串中匹配欄位Java字串