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

网站服务公司案例网络营销推广方案ppt

网站服务公司案例,网络营销推广方案ppt,建网站容易吗,编程除了做网站还能干什么347.前K个高频元素 方法:堆 首先遍历整个数组,并使用哈希表记录每个数字出现的次数,并形成一个「出现次数数组」。找出原数组的前 k 个高频元素,就相当于找出「出现次数数组」的前 k 大的值 利用堆的思想:建立一个小…

347.前K个高频元素

image-20231014125543621

方法:堆

首先遍历整个数组,并使用哈希表记录每个数字出现的次数,并形成一个「出现次数数组」。找出原数组的前 k 个高频元素,就相当于找出「出现次数数组」的前 k 大的值

利用堆的思想:建立一个小顶堆,然后遍历出现次数数组:

  • 如果堆的元素小于k,就直接插入堆中

  • 如果堆的元素个数等于k,则检查堆顶与当前出现次数的大小,如果堆顶更大,说明至少有k个数字的出现次数比当前值大,故舍弃当前值;否则,就弹出堆顶,并将当前值插入堆中

    遍历完成后,堆中的元素就代表了出现次数数组中前k大的值

class Solution {public int[] topKFrequent(int[] nums, int k) {//使用字典,统计每个元素出现的次数,元素为键,元素出现的次数为值Map<Integer,Integer> occurrences = new HashMap<Integer,Integer>();for(int num:nums){occurrences.put(num,occurrences.getOrDefault(num,0) + 1);}//int[] 的第一个元素代表数组的值,第二个元素代表了该值出现的次数PriorityQueue<int []> queue = new PriorityQueue<int[]>(new Comparator<int[]>() {public int compare(int[] m,int[] n) {return m[1] - n[1];}});for(Map.Entry<Integer,Integer> entry : occurrences.entrySet()){int num = entry.getKey(),count = entry.getValue();if(queue.size() == k){if(queue.peek()[1] < count){queue.poll();queue.offer(new int[]{num,count});}}else{queue.offer(new int[]{num,count});}}//取出堆中的元素int[] ret = new int[k];for(int i = 0;i<k;i++){ret[i] = queue.poll()[0];}return ret;}
}
http://www.mmbaike.com/news/98936.html

相关文章:

  • 开封网站开发新闻头条今日要闻10条
  • 连云港建设厅官方网站seo自动工具
  • 网易网站建设的目的qq群引流推广平台
  • 网站建设合作流程图优化网站软文
  • 网站建设web前端开发入门如何做好网络推广
  • 四川建设集团有限公司网站市场营销比较好写的论文题目
  • 网站设计如何在ps先做免费源码资源源码站
  • 湖北专业网站建设口碑好电商网站有哪些
  • 营销型企业网站核心南京百度seo排名
  • 海外做bt种子网站郑州seo使用教程
  • 提供微信网站建设游戏推广代理平台
  • 05网数学书答案seo引擎搜索网站关键词
  • 做电商能赚钱吗怎么去优化关键词
  • 网站建设卖东西看seo
  • 高创园网站建设方案seo关键词优化价格
  • 临沂企业做网站排行榜百度
  • 做视频网站 带宽多少才合适产品网络营销分析
  • 东莞企业营销型网站建设自媒体135免费版下载
  • 大型网站怎么做seo什么是网店推广
  • 建设龙卡e付卡网站seo网站优化培训公司
  • 做特卖的网站有哪些代运营公司排名
  • 那家网站做照片书好论坛如何做seo
  • 不懂的人做网站用织梦 还是 cms微信朋友圈软文大全
  • 高端营销网站百度搜索高级搜索技巧
  • 教务系统网站怎么做西安网站seo工作室
  • 企业网站建设找智恒网络网络推广的方式和途径有哪些
  • wordpress+写php页面深圳百度推广优化
  • wordpress压缩图片神马seo教程
  • 大型商城网站建设外链发布平台大全
  • 阳江 网站建设网页关键词优化软件