題目
給定一個裡面有一堆string的array
答案要return 所有在array裡面其他字串的子字串中也有出現的字串
思路
直接暴力解
先把整個array根據len(string)排序避免掉去找比自己短的字串
然後對每個字串就直接往後找
看有沒有包含在其他字串 有的話就加進答案
Code:
class Solution {
public:
vector<string> stringMatching(vector<string>& words) {
sort(words.begin(), words.end(), [](const string &a,const string& b) {
return a.length() < b.length();
});
vector<string> ans;
for (int i = 0; i < words.size(); ++i) {
for (int j = i + 1; j < words.size(); ++j) {
if (words[j].find(words[i]) != string::npos) {
ans.push_back(words[i]);
break;
}
}
}
return ans;
}
};
不知道是測資太簡單還怎樣
暴力解就beat 100%了
是說提示的KMP
感覺明明資結才剛學過
可是完全不記得怎麼寫
肥肥這輩子就這樣了
等下來研究一下
對阿