leetcode 30. Substring with Concatenation of All Words

来源:互联网 发布:做电子相册的软件 编辑:程序博客网 时间:2024/06/05 17:50

一个简单的通过next_permutation来进行字符串查找的函数,很遗憾,超时

vector<int> findSubstring(string s, vector<string>& words) {vector<int> order;vector<int> ret;for(int i=0;i<words.size();i++)order.push_back(i);string _s = s;do{    string subStr = "";    _s = s;    for(int i=0;i<order.size();i++)subStr += words[order[i]];    int tmp = _s.find(subStr);    int pre = 0;    while(tmp!=-1){        ret.push_back(pre+tmp);        tmp++;        pre+=tmp;        while(tmp--)_s.erase(_s.begin());        tmp = _s.find(subStr);    }}while(next_permutation(order.begin(),order.end()));sort(ret.begin(),ret.end());vector<int>::iterator iter = unique(ret.begin(),ret.end());ret.erase(iter,ret.end());}
0 0
原创粉丝点击