当前位置: 首页 > news >正文

湖南平台网站建设方案用rp做网站不用写前段代码

湖南平台网站建设方案,用rp做网站不用写前段代码,酒店分销平台有哪些,导视设计案例题目来源:力扣 题目描述: 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。 示例 1: 输入:…

题目来源:力扣

题目描述:

给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。

返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。

示例 1:

输入: words = ["i", "love", "leetcode", "i", "love", "coding"], k = 2
输出: ["i", "love"]
解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。注意,按字母顺序 "i" 在 "love" 之前。

示例 2:

输入: ["the", "day", "is", "sunny", "the", "the", "the", "sunny", "is", "is"], k = 4
输出: ["the", "is", "sunny", "day"]
解析: "the", "is", "sunny" 和 "day" 是出现次数最多的四个单词,出现次数依次为 4, 3, 2 和 1 次。

代码实现:
 

class Solution {
public:struct Greater{bool operator()(const pair<string,int>& kv1, const pair<string,int>& kv2){return kv1.second > kv2.second;}};vector<string> topKFrequent(vector<string>& words, int k) {map<string,int> countMap;for(const auto& e : words){countMap[e]++;}vector<pair<string,int>> KvVec(countMap.begin(),countMap.end());stable_sort(KvVec.begin(),KvVec.end(),Greater());//和sort一样,但是stable_sort是稳定的排序vector<string> ret;for(int i=0;i<k;i++){ret.push_back(KvVec[i].first);}return ret;}
};
class Solution {
public:struct Greater{bool operator()(const pair<string,int>& kv1, const pair<string,int>& kv2){return kv1.second > kv2.second || (kv1.second == kv2.second && kv1.first < kv2.first);//频率大的在前面,频率相等的情况下,就去比较字典序,小的在前面}};vector<string> topKFrequent(vector<string>& words, int k) {map<string,int> countMap;for(const auto& e : words){countMap[e]++;}vector<pair<string,int>> KvVec(countMap.begin(),countMap.end());sort(KvVec.begin(),KvVec.end(),Greater());vector<string> ret;for(int i=0;i<k;i++){ret.push_back(KvVec[i].first);}return ret;}
};

这里有两种方法,一种是正常使用sort,一种是不使用sort

class Solution {
public:vector<string> topKFrequent(vector<string>& words, int k) {map<string,int> countMap;for(const auto& e : words){countMap[e]++;}multimap<int,string,greater<int>> sortMap;//这里依赖map底层实现,有些平台可能过不了for(auto& kv : countMap){sortMap.insert(make_pair(kv.second,kv.first));}vector<string> v;auto it = sortMap.begin();while(k--){v.push_back(it->second);++it;}return v;}
};

思路:
 这道题麻烦的是按照字典序去排列,sort是对随机迭代器进行排序的,而map是双向迭代器,也就是说map是无法使用sort的,所以我们在上边倒来倒去的倒数据,这道题就是用map统计一下频率然后按频率排序即可,这里需要给sort设计一个仿函数,让频率大的在前面,如果使用原始的sort,那么会面临因为sort是不稳定的排序,所以要自己加一些条件,或者换一个稳定的排序函数,比如stable_sort,接着我们把前k个放在一个vector里返回即可

除了sort可以排序,map也可以再排序,我们反过来再搞一个multimap(map会去重)排序即可,这里需要给map传第三个模板参数,这里依赖底层实现,有的平台可能不会通过,接着一样再把前k个放入vector返回即可

http://www.yayakq.cn/news/407587/

相关文章:

  • 网站服务器有什么用成都中方互动做网站怎样
  • 怎么买域名自己做网站WordPress rss连接
  • 用wordpress建立的网站可信网站认证服务中心
  • 建设银行网银盾官方网站下载绵阳住房和城乡建设局网站
  • 西安米德建站wordpress多站点版
  • 中山手机网站建设费用网站建设后台怎么弄
  • 给个网站做导航违法吗玩具网站建设规划书
  • 个人建站python线上课程哪个好
  • 外包公司设计完网站谁负责运营成都网站seo技术
  • 微软雅黑适合于做网站吗电商平面设计
  • 网站网络的可用性在线建设房屋设计网站
  • 网站建设费用如何做账务处理百度网站建设推广
  • 如何向百度提交站点收录信息网站备案完成后不解析
  • 怎么做网站海报轮播图星裕建设网站
  • 怎么弄免费的php空间做网站wordpress下拉筛选
  • dw建设网站营销软件免费版
  • 校园交友的网站建设企业汽车网站建设
  • 帝国cms 关闭网站互联网公司运营是做什么的
  • 西樵网站制作公司开源门户网站建设方案
  • 简单三栏网站wordpress点赞打赏
  • 自微网站首页大兴专业网站开发公司
  • 建设银行 上海 招聘网站电子商务网络营销
  • html5网站正在建设中模板下载湖南系统开发
  • 哈尔滨开网站邯郸招聘信息网
  • 做网站怎么每天更新内容百度关键词挖掘
  • 什么网站可以做汽车国际贸易济源网站建设费用
  • 湖北省建设厅信息网站wordpress导入数据库后出现乱码
  • 伴奏在线制作网站文库网站建设开发
  • 个人网站建设心得体会小程序制作用华网天下推荐
  • wordpress付费注册插件做网站建设优化的公司排名