-1
的一個子我有一個像檢查字符串矢量是元素
a1 = ["arp", "live", "strong"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
字符串矢量我將如何檢查是否阿姆斯特朗的強勁A1一子。使用C++
我會做兩個for循環,並檢查一個字符串是否是a2中的子字符串,但我想要一個有效的方法。
std::vector<std::string> inArray(std::vector<std::string> &array1, std::vector<std::string> &array2)
{
vector<string> result;
for (string &s : array1)
{
for (string &d : array2)
{
if (s.find(d) != string::npos)
{
cout << d << endl;
}
}
}
return result;
}
int main() {
vector<string> a = { "arp", "live", "strong" };
vector<string> b = { "lively", "alive", "harp", "sharp", "armstrong" };
vector<string> result = inArray(a, b);
}
鑑於串a1的兩個陣列和A2中是a2的字符串的子串a1的字符串的詞典順序返回一個排序後的數組河
Example 1:
a1 = ["arp", "live", "strong"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
returns ["arp", "live", "strong"]
你爲什麼覺得它效率不高,你有沒有測量過它?如果是這樣,發佈代碼 –
它是O(N * M)。會比這更好嗎? –
「我將如何檢查阿姆斯特朗是否是a1中強子的一個子字符串」難道你不想檢查其他方式嗎? –