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

合肥建设学校官网网站怎样制作属于自己的网站

合肥建设学校官网网站,怎样制作属于自己的网站,做我女朋友程序网站,质量可靠的网站网页归档优先队列 思路: 中位数是排序中间的数值:S1.M.S2可以使用两个优先队列来存放两边的数值,总是使得左侧的堆顶是最大的,右侧的堆顶是最小的,即使用大顶堆存放 S1,使用小顶堆存放S2,使得两个队列的…

优先队列

  • 思路:
    • 中位数是排序中间的数值:S1.M.S2
    • 可以使用两个优先队列来存放两边的数值,总是使得左侧的堆顶是最大的,右侧的堆顶是最小的,即使用大顶堆存放 S1,使用小顶堆存放S2,使得两个队列的 size 维持“平衡”,则中位数就会在两个堆顶“附近”了;
    • 维持两个队列 size 平衡:
      • 数据先 push 的大顶堆,如果是 > M 的数,则会在堆顶;如果是 < M 的数,则会沉入队列中;
      • 然后将堆顶的数 push 到小顶堆,如果是 > M 的数,会沉入队列;如果是 < M 的数,会在堆顶;
      • 将大顶堆的堆顶 pop;(因为已经 push 到小顶堆)
      • 判断一下两个队列的size,如果大顶堆的 size 少了,将小顶堆的堆顶“漏”到大顶堆;(可以将两个队列组合成漏斗,更直观)
    • 此时的中位数:
      • 如果大顶堆 size 多,则中位数是其堆顶;
      • 否则,为两个堆顶的均值;
class MedianFinder {
public:MedianFinder() {}void addNum(int num) {low.push(num);high.push(low.top());low.pop();if (low.size() < high.size()) {low.push(high.top());high.pop();}}double findMedian() {if (low.size() > high.size()) {return low.top();}return (low.top() + high.top()) / 2.0;}private:std::priority_queue<int, std::vector<int>, std::less<int>> low;std::priority_queue<int, std::vector<int>, std::greater<int>> high;
};/*** 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/42115.html

相关文章:

  • 网站app开发费用资源网
  • 上海松江区做网站公司google关键词挖掘工具
  • 绍兴建设用地使用权网站北京seo公司排名
  • 重庆网站建设招聘seo值怎么提高
  • 公司网站开发费用计入哪个科目附近的计算机培训班
  • 北京顺义建设委员会网站首页公司网站制作要多少钱
  • 物流网站建设案例重庆企业seo
  • 平台网站制作竞价网官网
  • 营销网站建设汉狮电话长春做网站公司长春seo公司
  • 焦作网站建设哪家专业百度关键词竞价查询系统
  • 建站 报价推广自己的网站
  • 360网站做二维码精准防恶意点击软件
  • 互联网装饰网站seo研究中心道一老师
  • 怎么做草坪网站一站式软文发布推广平台
  • 杭州网站建设 杭州appgoogle搜索引擎入口
  • p2p金融网站建设seo团队
  • 软件网站开发设计网络公司名字
  • zend studio 网站开发天津最新消息今天
  • 佛山专业的做网站的百度收录提交
  • 怎麽用dw做网站轮播海报排名seo公司
  • 奥派政府门户网站模板廊坊seo排名扣费
  • 野花香社区论坛宁波seo推广服务电话
  • 潍坊专业网站建设哪家好建立网站需要什么技术
  • 如何看网站的流量百度广告推广价格
  • 做网站定制开发的公司seo简介
  • 不会被封的网站谁做武汉本地seo
  • 成都专业网站设计免费咨询网络营销平台的主要功能
  • 宣威市住房与城乡建设局网站谷歌 chrome 浏览器
  • 微网站开发公司盐城seo优化
  • 广西建设监理协会官方网站论坛软文案例