topk问题我们一般使用的是选择快排,每次找到大于基准点的前m个数,如果m<k,那就递归基准点后面一段,如果m>k就递归基准点前面的数直到找到基准点大于前k个数。
本题可以不适用选择快排,通过使用map来统计字符串出现的个数,自定义一个比较函数,通过将map的对数放入vector<pair<stirng,int>>,将vector按照字符出现的次数进行降序排序,输入排序的前k大的数。
topk问题我们一般使用的是选择快排,每次找到大于基准点的前m个数,如果m<k,那就递归基准点后面一段,如果m>k就递归基准点前面的数直到找到基准点大于前k个数。
本题可以不适用选择快排,通过使用map来统计字符串出现的个数,自定义一个比较函数,通过将map的对数放入vector<pair<stirng,int>>,将vector按照字符出现的次数进行降序排序,输入排序的前k大的数。