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

沈阳个人网站建设一个网站可以做多少弹窗广告

沈阳个人网站建设,一个网站可以做多少弹窗广告,网站使用培训方案,如何做微信小程序店铺Problem: 295. 数据流的中位数 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 由于该题目的数据是动态的我们可以维护两个堆来解决该问题 1.维护一个大顶堆,一个小顶堆 2.每个堆中元素个数接近n/2;如果n是偶数,两个堆中的数据个数…

Problem: 295. 数据流的中位数

文章目录

  • 题目描述
  • 思路
  • 解题方法
  • 复杂度
  • Code

题目描述

在这里插入图片描述
在这里插入图片描述

思路

由于该题目的数据是动态的我们可以维护两个来解决该问题

1.维护一个大顶堆,一个小顶堆
2.每个堆中元素个数接近n/2;如果n是偶数,两个堆中的数据个数都是n/2;如果n是奇数,则大顶堆中有n/2 + 1个数据,小顶堆中有n/2个数据
3.大顶堆中的数据值都要小于小顶堆中的数据值

即大顶堆中的堆顶元素就是中位数

解题方法

1.(创建堆)按思路创建一个大顶堆和小顶堆
2.(维护堆):

2.1.如果新插入数据小于等于大顶堆,则将其插入到大顶堆中,否则插入到小顶堆;
2.2.插入数据后,两个堆中的数据量个数不满足思路中的要求2,则我们需要从一个堆中不停的将堆顶元素移动到另一个堆

image.png

复杂度

时间复杂度:

a d d N u m : O ( l o g n ) addNum:O(logn) addNum:O(logn)
f i n d M e d i a n : O ( 1 ) findMedian:O(1) findMedian:O(1)

空间复杂度:

O ( n ) O(n) O(n)

Code

class MedianFinder {/*维护一个大顶堆和小顶堆*/private PriorityQueue<Integer> minQueue = new PriorityQueue<>(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o1 - o2;}});private PriorityQueue<Integer> maxQueue = new PriorityQueue<>(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2 - o1;}});public MedianFinder() {}/*** 数据流插入数据** @param num 待插入的数据*/public void addNum(int num) {//如果插入数据小于等于大顶堆堆顶元素,大顶堆直接插入if (maxQueue.isEmpty() || num <= maxQueue.peek()) {maxQueue.add(num);} else {minQueue.add(num);}//大顶堆数据量不能小于小顶堆while (maxQueue.size() < minQueue.size()) {Integer minQueueElement = minQueue.poll();maxQueue.add(minQueueElement);}//小顶堆数据量可以比大顶堆小一个while (minQueue.size() < maxQueue.size() - 1) {Integer maxQueueElement = maxQueue.poll();minQueue.add(maxQueueElement);}}/*** 找出中位数** @return double*/public double findMedian() {//如果大顶堆数据量大于小顶堆if (maxQueue.size() > minQueue.size()) {return maxQueue.peek();} else {return (maxQueue.peek() + minQueue.peek()) / 2f;}}
}/*** Your MedianFinder object will be instantiated and called as such:* MedianFinder obj = new MedianFinder();* obj.addNum(num);* double param_2 = obj.findMedian();*/
http://www.yayakq.cn/news/262225/

相关文章:

  • 做界面网站用什么语言深圳软装设计公司有哪些
  • 怎样注册免费网站wordpress 打不开页面
  • 马蜂窝网站怎么做创建网站需要什么平台
  • 唐山建站公司中国室内设计师网官网
  • 广州知名网站网站开发在哪个科目核算
  • 手机网站推广怎么做google 网站收录
  • 云南俊发建设集团网站商城网站的模块设计
  • 短租房网站哪家做最好郑州好的网站建站
  • 模块化建站工具建筑做网站
  • 网站维护一般做什么互联网基础知识入门
  • 广州番禺网站推广wordpress 对空间要求
  • 营销型网站模板免费下载广告推广方案
  • 计算机网站开发岗位有哪些成为网站开发工程师
  • 做网站公司 蓝纤科技东莞网站制作电话
  • 程序员做外包网站wordpress 苏醒主题
  • 手机型网站免费二维码生成工具
  • 江西网站建设与推广河北网站建设
  • 网页设计个人网站设计通州手机网站建设
  • 网站开发 源代码吾道ppt模板免费下载
  • 成都网站建设小程序北京学校线上教学
  • 网站开发的硬件环境和软件怎么写百度首页排名优化哪家专业
  • 网站建设张家港株洲建设工程造价信息网站
  • 网站设计公司排行榜wordpress被js挂马
  • 腾讯云电商网站建设北京网站开发公司哪家好
  • 网站解析错误飞猪关键词排名优化
  • 内蒙古建设厅网站官网济南企业网站搭建
  • 深圳seo推广英文seo推广
  • 网站开发框架是什么如何更改地图上的店名
  • 推广软件公司潍坊seo管理
  • 网站建设与管理教案网红营销案例