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

打开网站很慢网站套模板教程

打开网站很慢,网站套模板教程,c 2015 做网站,做网站如何推广题目: 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化…

题目:
中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。
例如 arr = [2,3,4] 的中位数是 3 。
例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5 。
实现 MedianFinder 类:
MedianFinder() 初始化 MedianFinder 对象。
void addNum(int num) 将数据流中的整数 num 添加到数据结构中。
double findMedian() 返回到目前为止所有元素的中位数。与实际答案相差 10-5 以内的答案将被接受。

题解:
① 双指针 + 有序集合
用一个有序集合存储,然后取其中中间那一个或者中间那两个就行

但有序集合中,不能直接取其中第 n 个大的元素
每一次遍历到第 n 个,又会导致效率过低
所以通过双指针,指向中间那一个或者中间那两个

然后根据插入值的大小和指针指向的值的大小比对,判断不同情况,进行移动指针

(这个有序集合不能是 set,因为 set 会去重,可以用 multiset)

② 优先队列
(最开始不知道 multiset,所以用的这个方法)

既然想不到用什么集合能快速找到第 n 个大小的值
但应该能想到我们可以快速会得到最大值和最小值,优先队列

一个序列我们可以分为
左边 n 个数              中位数              右边 n 个数

左边维护一个优先队列,我们只需要知道最大值
右边维护一个优先队列,我们只需要知道最小值

然后根据不同情况,进行不同的插入优先队列,取出值的操作即可

代码如下:

class MedianFinder {
public:bool flag = true;int left = INT_MAX, right = INT_MAX;priority_queue<int> left_temp;priority_queue<int, vector<int>, greater<int> > right_temp;MedianFinder() {}void addNum(int num) {if(left == INT_MAX) {left = right = num;flag = !flag;return;}if(num >= right) {if(flag) {left_temp.push(left);right_temp.push(num);left = right;}else {right_temp.push(num);right = right_temp.top();right_temp.pop();}}else if(num <= left) {if(flag) {left_temp.push(num);right_temp.push(right);right = left;}else {left_temp.push(num);left = left_temp.top();left_temp.pop();}}else {left_temp.push(left);right_temp.push(right);left = right = num;}flag = !flag;}double findMedian() {return (left + right) / 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.yayakq.cn/news/453215/

相关文章:

  • 做园林景观的网站深圳网站建设服务哪一个便宜
  • wordpress网站响应时间网站推广的目的
  • 建设部人才中心网站产品设计专业世界大学排名
  • 内江做网站哪里便宜wordpress主机怎么填
  • 深圳哪家做网站比较好珠海企业建站模板
  • 开网店需要投资多少钱免费seo网站
  • 百度网站收录更新中国国际新闻
  • wap php网站源码小程序源码免费下载
  • 网站建设公司怎样做账南宁网页制作培训
  • 做网站需要哪些知识wordpress 搭建个人博客
  • 品牌网站建设 51下拉机械英语网站
  • 做自己的网站如何赚钱的包头网站开发
  • 网站规划与建设心得中企动力企业邮箱登陆首页
  • 制作团体网站泉州seo报价
  • 免费网站建设设计制作公司云卡会员管理系统
  • 什么语言做网站最好discuz做的网站怎么修改
  • 重庆巫溪网站建设wordpress win8 主题
  • 邢台哪儿做wap网站wordpress 不支持中文
  • 有做游戏广告的网站深圳门户网站有哪些
  • 阿里云部署网站贾汪建设局网站
  • 平凉公司网站建设如何创建网站名称
  • 旅游网站论文摘要wordpress 要多少钱
  • 写作网站排名dede 网站地图 插件
  • 京东网站优化电脑上常用的办公软件
  • 做系统之前的网站福州seo推广服务
  • 网站建设公司的公司哪家好网站的源代码有什么用
  • 在网站里面如何做支付工具外链推广平台
  • 网站开发者 敬请期待东莞关键词排名推广
  • 橙色网站logo 配色微信商城开店需要费用吗
  • 做网站公司宁波不会代码可以做网站维护吗