藍橋杯演算法提高——字串匹配(Java)
藍橋杯演算法提高——字串匹配
問題描述
給出一個字串和多行文字,在這些文字中找到字串出現的那些行。
你的程式還需支援大小寫敏感選項:
當選項開啟時,表示同一個字母的大寫和小寫看作不同的字元;
當選項關閉時,表示同一個字母的大寫和小寫看作相同的字元。
輸入格式
輸入的第一行包含一個字串S,由大小寫英文字母組成。
第二行包含一個數字,
表示大小寫敏感的選項,當數字為0時表示大小寫不敏感,
當數字為1時表示大小寫敏感。
第三行包含一個整數n,表示給出的文字的行數。
接下來n行,每行包含一個字串,字串由大小寫英文字母組成,不含空格和其他字元。
輸出格式
輸出多行,每行包含一個字串,按出現的順序依次給出那些包含了字串S的行。
樣例輸入
Hello
1
5
HelloWorld
HiHiHelloHiHi
GrepIsAGreatTool
HELLO
HELLOisNOTHello
樣例輸出
HelloWorld
HiHiHelloHiHi
HELLOisNOTHello
樣例說明
在上面的樣例中,第四個字串雖然也是Hello,但是大小寫不正確。
如果將輸入的第二行改為0,則第四個字串應該輸出。
題目解析
在大小寫不敏感(即判定條件為0)的情況下,該如何判定給定字串是否存在於後續輸入字串中,我採取的辦法是,將兩個字串都轉換為大寫形式,然後再利用contains函式判斷,最終寫作:
if(str[i].toUpperCase().contains(s.toUpperCase()))
至於大小寫敏感的情況下,直接採用contains函式判定即可:
if(str[i].contains(s))
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String s=in.next();
int m=in.nextInt();
int n=in.nextInt();
String str[]=new String[n];
for(int i=0;i<n;i++){
str[i]=in.next();
}
for(int i=0;i<n;i++){
if(m==0){
if(str[i].toUpperCase().contains(s.toUpperCase())){
System.out.println(str[i]);
}
}
else{
if(str[i].contains(s)){
System.out.println(str[i]);
}
}
}
}
}
相關文章
- 藍橋杯 演算法提高 字串壓縮演算法字串
- [Java] 藍橋杯ADV-203 演算法提高 8皇后·改Java演算法
- Java實現 藍橋杯 演算法提高 八數碼(BFS)Java演算法
- [藍橋杯][演算法提高VIP]大數加法演算法
- 藍橋杯年號字串字串
- [藍橋杯][演算法提高VIP]尤拉函式演算法函式
- [藍橋杯][演算法提高VIP]超級瑪麗演算法
- [藍橋杯][演算法提高VIP]奪寶奇兵 dp演算法
- [Java] 藍橋杯ADV-185 演算法提高 五次方數Java演算法
- [Java] 藍橋杯ADV-202 演算法提高 最長公共子序列Java演算法
- [Java] 藍橋杯ADV-209 演算法提高 c++_ch02_04Java演算法C++
- [Java] 藍橋杯ADV-213 演算法提高 3-2求存款Java演算法
- [Java] 藍橋杯ADV-147 演算法提高 學霸的迷宮Java演算法
- 藍橋杯 演算法提高 拿糖果(完全揹包dp)演算法
- 藍橋杯 -- 演算法提高 身份證號碼升級演算法
- [Java] 藍橋杯ADV-210 演算法提高 2-1螢幕列印Java演算法
- 藍橋杯 分巧克力(Java)Java
- 藍橋杯 (java)演算法訓練 數對Java演算法
- [藍橋杯][演算法提高VIP]分蘋果 線段樹演算法蘋果
- 題目 1501: [藍橋杯][演算法提高VIP]分蘋果演算法蘋果
- [Java] 藍橋杯ADV-194 演算法提高 盾神與積木遊戲Java演算法遊戲
- 藍橋杯--演算法訓練演算法
- 藍橋杯—演算法訓練演算法
- 藍橋杯
- 藍橋杯 航班時間 (字串處理)C字串
- 藍橋杯 演算法訓練 素因子去重(Java)演算法Java
- [藍橋杯][演算法提高VIP]最大乘積 貪心 雙指標演算法指標
- [Java] 藍橋杯ALGO-117 演算法訓練 友好數JavaGo演算法
- Java藍橋杯14年第五題Java
- 藍橋杯 (java) 第39級階梯Java
- 藍橋杯-分巧克力
- 藍橋杯-N皇后
- 藍橋杯真題
- 藍橋杯 買瓜
- 藍橋杯 剪格子
- 閒聊藍橋杯JAVA - 生成迴文數Java
- 藍橋杯-長草(BFS)
- 藍橋杯-日期問題