字串匹配問題

2021-08-20 20:19:20 字數 976 閱讀 4225

給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項:當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元;當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。

輸入輸入的第一行包含乙個字串s,由大小寫英文本母組成。 

第二行包含乙個數字,表示大小寫敏感的選項,

當數字為0時表示大小寫不敏感,當數字為1時表示大小寫敏感。 

第三行包含乙個整數n,表示給出的文字的行數。 

接下來n行,每行包含乙個字串,字串由大小寫英文本母組成,不含空格和其他字元。

輸出輸出多行,每行包含乙個字串,按出現的順序依次給出那些包含了字串s的行。

樣例輸入

hello15

helloworld

hihihellohihi

grepisagreattool

hello

helloisnothello

樣例輸出

helloworld

hihihellohihi

helloisnothello

提示樣例說明 

在上面的樣例中,第四個字串雖然也是hello,但是大小寫不正確。如果將輸入的第二行改為0,則第四個字串應該輸出。 

評測用例規模與約定 

1<=n<=100,每個字串的長度不超過100。

#include#include#includeusing namespace std;

void option(char *a,char *b,int choice)

} for(int i=0;i=65&&b[i]<=90)

} }else

a=a;

b=b;

}int main()

option(s,b[i],choice);

} for(int i=0;i<=n;i++)

} return 0;

}

字串匹配問題

在字串匹配問題中,我們期待察看串t中是否含有串p。其中串t被稱為目標串,串s被稱為模式串。進行字串匹配,最簡單的乙個想法是 public class match 可以看見,這個演算法 假定m n 的複雜度是o mn 其中m是t的長度,n是p的長度。這種演算法的缺陷是匹配過程中帶有回溯 準確地說是t串...

字串匹配問題

字串中只含有括號 判斷輸入的字串中括號是否匹配。如果括號有互相包含的形式,從內到外必須是 例如。輸入 輸出 yes,而輸入 都應該輸出no。第一行為乙個整數n,表示以下有多少個由括好組成的字串。接下來的n行,每行都是乙個由括號組成的長度不超過255的字串 在輸出中有n行,每行都是yes或no。5 y...

字串匹配問題

字串匹配演算法 kmp和暴力求解。個人認為,在面試時,由於時間緊張,暴力求解未嘗不可以。kmp演算法,參考了 kmp演算法 if str k 1 str q 如果相同,k next q k 這個是把算的k的值 就是相同的最大字首和最大字尾長 賦給next q int kmp char str,int...