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

手绘风格的网站免费找客源软件

手绘风格的网站,免费找客源软件,罗湖商城网站设计电话,林州网站建设哪家便宜黄金挑战-数据流的中位数 1.数据流中中位数的问题 LeetCode295 https://leetcode.cn/problems/find-median-from-data-stream/ 思路分析 中位数的问题,我们一般都可以用 大顶堆小顶堆 来求解 小顶堆(minHeap):存储所有元素中…

黄金挑战-数据流的中位数

1.数据流中中位数的问题

LeetCode295
https://leetcode.cn/problems/find-median-from-data-stream/

思路分析

中位数的问题,我们一般都可以用 大顶堆+小顶堆 来求解

小顶堆(minHeap):存储所有元素中较大的一半,堆顶元素是其中最小的数
大顶堆(maxHeap):存储所有元素中较小的一半,堆顶元素是其中最大的数

相当于,把所有元素分成了大和小两半,计算中位数,只需要大的那半的最小值和小的那半的最大值即可。

如[1,2,3,4,5],分成小顶堆[3,4,5],大顶堆[2,1],中位数为3

过程
加1 小顶堆[1] 大顶堆[] 中位数 1
加2 小顶堆[2] 大顶堆[1] 中位数 (2+1)/2
加3 小顶堆[2,3] 大顶堆[1] 中位数 3
加4 小顶堆[3,4] 大顶堆[2,1] 中位数 (3+2)/2
加5 小顶堆[3,4,5] 大顶堆[2,1] 中位数 3

代码实现

Java中的堆(即优先队列)可方便实现,c++、python里没有提供堆结构,需要自己构造

class MedianFinder {// 小顶堆中存储的是比较大的元素,堆顶是其中的最小值PriorityQueue<Integer> minHeap;// 大顶堆中存储的是比较小的元素,堆顶是中期的最大值PriorityQueue<Integer> maxHeap;public MedianFinder() {this.minHeap = new PriorityQueue<>();this.maxHeap = new PriorityQueue<>((a, b) -> b - a);}public void addNum(int num) {// 小顶堆存储的是比较大的元素,num大于小顶堆中根元素时进入minHeapif (minHeap.isEmpty() || num > minHeap.peek()){minHeap.offer(num);// 如果minHeap比maxHeap多2个元素,就平衡一下if (minHeap.size() - maxHeap.size() > 1){maxHeap.offer(minHeap.poll());}}else{maxHeap.offer(num);// 这样可以保证多的那个元素肯定在minHeapif(maxHeap.size() - minHeap.size() > 0){minHeap.offer(maxHeap.poll());}}}public double findMedian() {if(minHeap.size() > maxHeap.size()){return minHeap.peek();}else if(minHeap.size() < maxHeap.size()){return maxHeap.peek();}else{return (minHeap.peek() + maxHeap.peek())/2.0;}}
}/*** Your MedianFinder object will be instantiated and called as such:* MedianFinder obj = new MedianFinder();* obj.addNum(num);* double param_2 = obj.findMedian();*/
http://www.dt0577.cn/news/48025.html

相关文章:

  • 中堂网站建设免费seo网站优化
  • 网站建设域名怎么用销售crm客户管理系统
  • 方案案例网站2022网站快速收录技术
  • 咨询企业网站模板旅游推广赚佣金哪个平台好
  • 中企动力做的网站升级收费西安seo网站排名
  • 制作相册影集下载seo智能优化
  • 门户网站 源码百度seo公司
  • 门户网站制作价格表查询网138网站域名
  • 福州网站建设索q479185700关键词推广效果分析
  • 可以做网站引导页的页面怎么下载需要会员的网站视频
  • 提供邢台做wap网站网络营销师证书有用吗
  • 河南省建设安全监督站的网站河源seo
  • 用凡科做的网站打不开汕头seo排名公司
  • wordpress 自动空格专业黑帽seo
  • 做钢管网站如何建一个自己的网站
  • 重庆潼南网站建设报价软件开发公司有哪些
  • 成都asp网站建设网络营销的目的和意义
  • 怎样做钓鱼网站电脑培训课程
  • .net企业门户网站开发郑州网站优化排名
  • 安溪网站开发互联网推广方案
  • 武汉行业门户网站建设淘宝关键词搜索排行榜
  • html5 wordpress 主题seo专员的工作内容
  • 重庆双八自助建设网站seo销售
  • 长页网站网站自动提交收录
  • 网页版游戏排行榜传奇百度一键优化
  • 南宁网站制作策划拓客引流推广
  • 企业网站 设计需求网络培训平台有哪些
  • 自己做网站软件做一个推广网站大概多少钱
  • 从化网站建设志鸿优化设计答案网
  • 已经有了域名和服务器怎么做网站百度广告点击一次多少钱