夏天吃辣椒

导航

 

1,for()拆分paragraph(4ms,87%;7.6MB,53%)

 1 string mostCommonWord(string paragraph, vector<string>& banned) {
 2         unordered_set<string>Sbanned;
 3         for(string str:banned)
 4         Sbanned.insert(str);
 5 
 6         string str1;
 7         string str2;
 8         int max=0;
 9         unordered_map<string,int>ins;
10         //注意最后一个单词直接截止了
11         for(char ch:paragraph){
12             //字母返回非0值
13             if(isalpha(ch))
14             //转为小写字母
15             str1+=tolower(ch);
16 
17             else if(str1.size()>0){
18                 if(Sbanned.find(str1)==Sbanned.end())
19                 ++ins[str1];
20                 if(ins[str1]>max){
21                 max=ins[str1];
22                 str2=str1;
23                 }
24                 str1="";
25             }
26         }
27 
28         //为最后一个单词准备
29         if(str1.size()>0){
30                 if(Sbanned.find(str1)==Sbanned.end())
31                 ++ins[str1];
32                 if(ins[str1]>max){
33                 max=ins[str1];
34                 str2=str1;
35                 }
36                 str1="";
37             }
38             return str2;

 

2,substr()截取paragraph(4ms,87%;7.6MB,53%)

 1 string mostCommonWord(string paragraph, vector<string>& banned) {
 2         unordered_set<string>Sbanned(banned.begin(),banned.end());
 3         //转为小写
 4         for(char &ch:paragraph)
 5         ch=tolower(ch);
 6 
 7         int i=0;
 8         int max=0;
 9         string str1;
10         unordered_map<string,int>ins;
11         while(i<paragraph.size()){
12             //字母返回非0
13             if(isalpha(paragraph[i])){
14                 int j=i;
15                 i++;
16                 while(i<paragraph.size()&&isalpha(paragraph[i])) i++;
17                 //从j位开始截取i-j位
18                 string str=paragraph.substr(j,i-j);
19                 //计算str个数
20                 if(Sbanned.count(str)==0)
21                 ++ins[str];
22                 if(ins[str]>max){
23                     max=ins[str];
24                     str1=str;
25                 }
26             }
27             i++;
28         }
29         return str1;

 

posted on 2021-09-22 22:05  夏天吃辣椒  阅读(43)  评论(0)    收藏  举报