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

免费网站建设模版云盘自己做网站语言构建服务器

免费网站建设模版云盘,自己做网站语言构建服务器,厦门百度推广开户,网店推广的目的有哪些题目#xff1a;给你一个整数数组 nums 和一个整数 k #xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 分析#xff1a;首先我们需要计算数组中元素出现的频率#xff0c;前几篇文章讲解了哈希表的应用#xff0c;所以这里我们很容易想到用…题目给你一个整数数组 nums 和一个整数 k 请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 分析首先我们需要计算数组中元素出现的频率前几篇文章讲解了哈希表的应用所以这里我们很容易想到用unordered_map数组存放元素(key)及其出现频率(value)。然后我们需要根据value值进行排序map的常用排序是根据key值进行的排序。所以我们根据value进行排序需要将map转换为vector结构然后对整个数组进行排序。但是如果我们采用优先级队列可以只维护k个有序的序列。 然后我们要考虑使用大顶堆还是小顶堆。因为我们只想要维护k个键值对所以对于多余的键值对要用pop弹出如果使用大顶堆就可能把出现频率高的元素弹出而使用小顶堆将出现频率小的弹出刚好会剩下出现频率高的元素。最后由于小顶堆小的在前所以在放入vectorint result数组时要逆序放。 注优先级队列如果不指定第三个参数默认是大顶堆所以我们可以采用仿函数函数对象来实现小顶堆定义。具体代码 class Solution { public:class Mycomparison {public:bool operator() (const pairint, int lhs, const pairint, int rhs) {return lhs.second rhs.second;}};vectorint topKFrequent(vectorint nums, int k) {unordered_mapint, int map;for(int i 0; i nums.size(); i) {map[nums[i]];}priority_queuepairint, int, vectorpairint, int, Mycomparison pri_que;for(unordered_mapint, int::iterator it map.begin(); it ! map.end(); it) {pri_que.push(*it);if(pri_que.size() k) {pri_que.pop();}}vectorint result(k);for(int i k - 1; i 0; i--) {result[i] pri_que.top().first;pri_que.pop();}return result;} };
http://www.hkea.cn/news/14545067/

相关文章:

  • 给别的公司提供网站建设平价建网站格
  • 打鱼在线游戏网站建设新建网站如何推广
  • 单页面网站 wordpress托管服务器是什么意思
  • 网站建设需要包含什么在哪些网站做收录比较快
  • 素材网站 源码珠海网站建设培训
  • 江苏网站建设公司哪家好互联网营销方案策划
  • 电子商务网站建设与管理感想网站 建设制作菜鸟教程
  • 漯河网站开发网页设计制作公司排行榜
  • google网站排名介绍化工项目建设和招聘的网站
  • 网站邮件推送竞价推广岗位职责
  • shtml怎么做网站企业宣传册制作
  • 大连开发网站建设黑帽seo优化软件
  • 如何查询一个网站是否备案用户界面设计案例
  • 哪些网站可以找兼职做室内设计站外引流推广渠道
  • 手机网站 布局com域名注册1元
  • 推广任务怎么做网站搜索引擎优化怎么做
  • 做网站 新域名 还是网络设计图纸是什么
  • 托管型网站手机网站 设置
  • 生产企业网站有哪些看广告挣钱一天300元
  • 网站建设网站推广服务公司时间轴网站设计
  • 网站如何做分站系统百度搜索不到我的网站
  • 青岛中英网站建设外协机械加工订单
  • 月嫂网站建设建设工程培训
  • 网站内容建设的布局和结构织梦 更换网站图标
  • 上海网站建设工作网格搜索优化
  • 花都定制型网站建设哈尔滨专业网站建设哪个好
  • 银川网站公司聊天网站开发
  • 淮安网站建设长沙协会网站设计专业服务
  • 有谁帮做网站网站建设产品需求文档
  • 山东省城乡住房和城乡建设厅网站全国婚孕检服务平台小程序