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

小说网站开发需求分析seo1搬到哪里去了

小说网站开发需求分析,seo1搬到哪里去了,网站 体系,电商网站建设精准扶贫的目的本文是力扣LeeCode-347. 前 K 个高频元素 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输…

本文是力扣LeeCode-347. 前 K 个高频元素 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

示例 1:
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

示例 2:
输入: nums = [1], k = 1
输出: [1]

提示:
1 <= nums.length <= 105
k 的取值范围是 [1, 数组中不相同的元素的个数]
题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的

进阶:你所设计算法的时间复杂度 必须 优于 O(n log n) ,其中 n 是数组大小。

思路:

  • 统计元素出现的频率 ---------> 使⽤map来进⾏统计
  • 对元素的频率进行排序 ---------> 由于map的value频率排序完,没法再找到对应的key,所以应该使⽤⼀种 容器适配器 就是 优先级队列,针对这道题,使用优先级队列最优,快排也比不上。
  • 找出前K个⾼频元素 ---------> 相比大顶堆需要所有元素都排序一遍,使用小顶堆只排序k个元素,性能更优。 因为要统计最⼤前k个元素,只有⼩顶堆每次将最⼩的元素弹出,最后⼩顶堆⾥积累的才是前k个最⼤元素。

优先级队列:优先级队列内部元素是⾃动依照元素的权值排列,优先级队列对外接⼝只是从队头取元素,从队尾添加元素,再⽆其他取元素的⽅式,看起来就是⼀个队列。默认使用大顶堆排序,若修改使用小顶堆排序,需要重写优先级队列的compare()方法。

class Solution {public int[] topKFrequent(int[] nums, int k) {// 使用map字典,统计每个元素出现的次数,元素为键,元素出现的次数为值Map<Integer,Integer> map = new HashMap<>();for(int i=0;i<nums.length;i++){if(map.containsKey(nums[i])){map.put(nums[i],map.get(nums[i])+1);}else{map.put(nums[i],1);}}PriorityQueue<Integer> pq = new PriorityQueue<>(new Comparator<Integer>(){// @Override:不写leeCode也可通过public int compare(Integer a,Integer b){return map.get(a)-map.get(b);}});// 遍历map,用最小堆保存频率最大的k个元素for(Integer key : map.keySet()){// if(pq.size()<k){//     pq.add(key);// }else if(map.get(key)>map.get(pq.peek())){//     pq.remove();//     pq.add(key);// }pq.add(key);if(pq.size()>k){pq.remove();}}// 取出最小堆中的元素int[] res = new int[k];int j=0;while(!pq.isEmpty()){res[j++] = pq.remove();}return res;}
}

大家有更好的方法,请不吝赐教。

http://www.zhongyajixie.com/news/14289.html

相关文章:

  • wordpress 仿新浪微博汕头seo优化公司
  • 无代码网站建设软件开发培训
  • 工作做网站新闻发稿平台
  • 网页个人主页模板seo基础理论
  • 做视频网站违法吗关键词优化平台有哪些
  • 口碑好网站建设公司电话谷歌商店官网下载
  • 图库网站源码下载湘潭网站设计外包服务
  • 山东食品行业网站开发百度推广需要多少钱
  • 公司创建的法制网站百度收录排名查询
  • 长治做网站的公司ip域名查询网
  • 网站建站销售怎么做百度推广北京总部电话
  • 企业名录搜索软件哪个靠谱爱站seo查询软件
  • 青县有做网站的吗2022年app拉新推广项目
  • 网易企业邮箱输入完整的邮箱地址怎么填写seo营销网站的设计标准
  • 做的网站修改编码福州网站建设团队
  • 临沂网站开发多少钱云推广
  • 哪个网站建站好怎么自己找外贸订单
  • 北京手机网站制作多少钱百度推广客户端登录
  • 连云港建设网站公司seo快速排名软件品牌
  • 如何做网站广告图片小程序开发模板
  • 宁波网站推广高手产品推广外包
  • wordpress极速优化高级seo优化招聘
  • 软文推广图片西安seo优化培训机构
  • 桂林微信网站百度怎么发帖做推广
  • 营销手机网站制作惠州seo按天计费
  • 南京制作网站多少钱品牌seo推广咨询
  • 做网站哪个公司网站查询备案信息
  • 全面的网站建设海东地区谷歌seo网络优化
  • 婺源做微信网站杭州百度快照
  • 网站建设的售后掌门一对一辅导官网