class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * return topK string * @param strings string字符串vector strings * @param k int整型 the k * @return string字符串vector<vector<>> */ vector<vector<string> > topKstrings(vector<string>& strings, int k) { // write code here vector<vector<string>> res; if (strings.empty() || k == 0) return res; unordered_map<string, int> mp; for (auto& s : strings) { mp[s]++; } vector<pair<string, int>> v(mp.begin(), mp.end()); sort(v.begin(), v.end(), [](auto & a, auto & b) { if (a.second != b.second) return a.second > b.second; // 次数降序 return a.first < b.first; // 次数相同按字典序 }); for (int i = 0; i < k && i < v.size(); i++) { res.push_back({v[i].first, to_string(v[i].second)}); } return res; } };