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

温州网站制作系统0453牡丹江信息网手机版

温州网站制作系统,0453牡丹江信息网手机版,怎么做室内设计公司网站,中国网络平台排名前十思路#xff1a;记录元素出现的次数用map#xff1b; 要维护前k个元素#xff0c;不至于把所有元素都排序再取前k个#xff0c;而是新建一个堆#xff0c;用小根堆存放前k个最大的数。 为什么是小根堆#xff1f;因为堆每次出数据时只出堆顶#xff0c;每次把当前最小的… 思路记录元素出现的次数用map 要维护前k个元素不至于把所有元素都排序再取前k个而是新建一个堆用小根堆存放前k个最大的数。 为什么是小根堆因为堆每次出数据时只出堆顶每次把当前最小的堆顶排出去 把更大的换进来到最后只会剩下几个最大的元素。 堆的排序复杂度是 log(K)所以整体是 n*long(K); class Solution {public int[] topKFrequent(int[] nums, int k) {MapInteger,Integer map new HashMap();//元素和次数 放入mapfor(int i : nums){map.put(i, map.getOrDefault(i,0)1);}//int[] 里面只放2两个值k-v用来代替map的元素PriorityQueueint[] xiaoDui new PriorityQueue((nums1,nums2)-nums1[1]-nums2[1]);//小根堆//遍历map里的元素维护一个K个元素的小根堆里面放的是大数for(Map.EntryInteger,Integer item : map.entrySet()) {if(xiaoDui.size()k){xiaoDui.add(new int[] {item.getKey(),item.getValue()});}else{//堆顶元素小时出堆顶入新元素if(xiaoDui.peek()[1]item.getValue()) {xiaoDui.poll();xiaoDui.add(new int[] {item.getKey(),item.getValue()});}}}//把key取出来返回int[] ans new int[k];for(int i0;ik;i){ans[i] xiaoDui.poll()[0];}return ans;} }
http://www.dnsts.com.cn/news/43612.html

相关文章:

  • 备案期间网站关闭潍坊做网站
  • 网站建设的收获大型公司建站
  • 只做二手奢侈品的网站高端网站设计平台高端网站设计企业
  • 做茶歇的网站写网页用什么语言
  • 海南住房和城乡建设厅网站登陆上海专业做网站的公司
  • wordpress多站点 域名备案网站名称攻略
  • 昆明市门户网站恩施网站开发
  • 自己做视频网站怎么让加载速度变快网站内部代码优化
  • 自己做的网站能备案吗网站宣传策划方案
  • 海淀教育人才网站内蒙古自治区生态文明建设网站
  • 网站开发财务费用云主机网站源码
  • 怎么申请建立一个公司网站上海家政公司排名
  • 网站防红怎么做的python 网站开发 sae
  • 东光网站建设网站如何做链接
  • 大连住房和城乡建设部网站自己做的网站在百度怎么发布
  • 制作响应式网站厦门 网站建设
  • 眉山网站优化做企业官网还有必要吗
  • 五合一网站建设费用手机优化师下载
  • 建立一个网站需要多少钱wordpress 透明文章
  • 做一个网站平台需要什么重庆公司大学派斯学院
  • 微软网站开发工具本地数据库搭建网站
  • 学校网站建设招标方案国家高新技术企业图片
  • 网站备案资料 下载中文在线っと好きだっ
  • 做网站的可以黑客户的网站吗做雕塑设计的网站
  • wordpress去掉搜索框做seo前景怎么样
  • 网络科技网站无锡微信网站
  • 中餐网站模板莞城网页设计
  • 做电影视频网站赚钱嘛大连网页制作培训学校
  • 有哪些网站可以做seo推广如何制作网站地图
  • 一个网站如何进行推广宣传杭州营销型网站建设工作室