日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最短摘要生成算法

發布時間:2024/9/30 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最短摘要生成算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
int FindAbstract(vector<string>&sent,vector<string> &keys,vector<string> &rst) {map<string,int> keyMp;set<string> keySt;int beg = 0,end = 0,s = 0,t = 0,MinLen = 0x7fffffff;queue<int> pos;//將所有關鍵詞的下標放入隊列中,當關鍵詞的種類全時,就要從最開始的下標開始遍歷for(int i=0;i<keys.size();++i)keySt.insert(keys[i]);for (;end<sent.size();++end){if (keySt.find(sent[end])!=keySt.end()){keyMp[sent[end]] +=1;pos.push(end);while (keyMp.size() == keys.size()){beg = pos.front();pos.pop();keyMp[sent[beg]] -=1;if(keyMp[sent[beg]] == 0)keyMp.erase(sent[beg]);int span = end - beg +1;if (span < MinLen){MinLen = span;s = beg;t = end;}}}}for (int i=s;i<=t;++i)rst.push_back(sent[i]);return MinLen; } int main() {string strarr[] = {"d","b","e","c","a","b","e","a","e","b","d"};vector<string> cnt;for(int i=0;i<11;++i)cnt.push_back(strarr[i]);vector<string> keys;keys.push_back("a");keys.push_back("d");keys.push_back("e");vector<string> rst;cout<<FindAbstract(cnt,keys,rst)<<endl;for(int i=0;i<rst.size();++i)cout<<rst[i]<<" ";return 0; }

總結

以上是生活随笔為你收集整理的最短摘要生成算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。