码迷,mamicode.com
首页 > 其他好文 > 详细

【字符串】819. 最常见的单词

时间:2020-05-03 21:48:42      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:min   nsf   ret   width   span   continue   int   tin   amp   

题目:

技术图片

 

 

 

解答:

先用transform函数将字符串转为小写,再遍历字符串搜索单词,建立map 对应的key-value关系,key是单词,value是单词出现次数。

再遍历banned数组,对这些ban的单词出现次数设为INT_MIN,再创建一个迭代器遍历map,找到最大value对应的单词即可。

 1 class Solution {
 2 public:
 3      string mostCommonWord(string paragraph, vector<string>& banned) 
 4      {
 5         transform(paragraph.begin(),paragraph.end(),paragraph.begin(),::tolower);
 6 
 7         string word="";
 8         map<string,int> m;
 9         for(int i=0;i<paragraph.size();i++)
10         {
11             if(paragraph[i]>=a&&paragraph[i]<=z)
12             {
13                 word+=paragraph[i];
14                 continue;
15             }
16             if(word.size()>0)
17             {
18                 m[word]++;
19                 word="";
20             }           
21         }
22         if(word.size()>0)
23         {
24             m[word]++;
25         }
26         map<string,int>::iterator it;
27         for(int i=0;i<banned.size();i++)
28         {
29             m[banned[i]]=INT_MIN;
30         }
31         string ans_key="";
32         int ans_value=0;
33         for(it=m.begin();it!=m.end();it++)
34         {
35             if(it->second>ans_value)
36             {
37                 ans_value=it->second;
38                 ans_key=it->first;
39             }
40         }
41         return ans_key;
42     }
43 
44 };

 

【字符串】819. 最常见的单词

标签:min   nsf   ret   width   span   continue   int   tin   amp   

原文地址:https://www.cnblogs.com/ocpc/p/12823536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!