[程式設計題] 文字嗅探
阿新 • • 發佈:2019-02-10
現在有一個字串列表,和一個關鍵詞列表,請設計一個高效演算法,檢測出含關鍵字列表中關鍵字(一個或多個)的字串。
給定字串陣列A及它的大小n以及關鍵詞陣列key及它的大小m,請返回一個排好序的含關鍵詞的字串序號的列表。保證所有字串長度小於等於100,關鍵詞個數小於等於100,字串個數小於等於200。保證所有字串全部由小寫英文字元組成。若不存在含關鍵字的字串,請返回一個只含-1的陣列。
測試樣例:
[“nowcoder”,”hello”,”now”],3,[“coder”,“now”],2
返回:[0,2]
class KeywordDetect{
public:
vector<int > containKeyword(vector<string> vec_str,int n,vector<string> vec_keys,int m){
vector<int> result;
for(int i = 0;i<vec_str.size();i++){
string str = vec_str[i];
for(int j = 0;i<vec_keys.size();j++){
if(str.find(vec_keys[j])!= string ::npos){
result.push_back(i);
break;
}
}
}
if(result.size())!=0){
return result;
}else{
return vector<int>(1,-1);
}
}
};