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