Untitled
unknown
plain_text
2 years ago
722 B
7
Indexable
class Solution {
public:
vector<int> findSubstring(string s, vector<string>& words) {
int m=words[0].size();
int n=words.size(); //n words size of each m
vector<int>res;
if(s.size() <m*n) return res;
unordered_map<string,int>freq;
for(auto i:words) freq[i]++;
for(int i=0;i<=s.size()-n*m;i++){
unordered_map<string,int>mp(freq);
int t;
for(t=0;t<n;t++){
string wc=s.substr(i+t*m,m);
if(mp.find(wc)!=mp.end()){
if(--mp[wc] ==-1) break;
}
else break;
}
if(t==n) res.push_back(i);
}
return res;
}
};Editor is loading...
Leave a Comment