class Solution {
public:
vector<vector<string> > topKstrings(vector<string>& strings, int k) {
// write code here
map<string ,int>mp;//建立map容器;
int n=strings.size();
for(int i=0;i<n;i++){
mp[strings[i]]++;//对出现的字符串数进行统计;
}
vector<pair<string ,int>>vec(mp.begin(),mp.end());//将map容器转为vector数组并利用sort排序;
sort(vec.begin(),vec.end(),[](pair<string,int> a, pair<string,int> b)
{ return a.second==b.second?a.first<b.first:a.second>b.second; });//自定义排序方式
//若value值(出现次数)相同,比较key值(字符串),否则比较value值;
vector<vector<string>>vc;
for(int i=0;i<k;i++){
vc.push_back({vec[i].first,to_string(vec[i].second)});//将值存入vc中;
}
return vc;
}
};