##### 7、出现次数最多的单词⭐
大小写 tolower(c)、toupper(c)
通过双指针:外层 i 对不需要的过滤,内层 j 获取每一个单词。
出现次数最多(别给那套用map了)就正常一个unorder_map,然后遍历一遍,是On的,不然你排序是nlogn的
#include<iostream>
#include<cstring>
#include<unordered_map>
using namespace std;
bool check(char c){
if(c>='0' && c<='9') return true;
else if(toupper(c)>='A' && toupper(c)<='Z') return true;
else return false;
}
int main (){
string s;
getline(cin,s);
unordered_map<string,int> words;
for(int i=0;i<s.size();i++){
if(check(s[i])){
string word;
int j=i;
while ( check(s[j]) && j<s.size() ) word+=tolower(s[j++]);
words[word]++;
i=j;
}
}
string answord;
int ans=-1;
for(auto &word:words){
if(word.second > ans || (word.second==ans && word.first<answord)){
answord=word.first;
ans = word.second;
}
}
cout<<answord<<" "<<ans<<endl;
}