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; } };