博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer——数据流中的中位数
阅读量:4317 次
发布时间:2019-06-06

本文共 751 字,大约阅读时间需要 2 分钟。

题目描述:

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。

分析:

插入排序。

代码:

1 class Solution { 2 public: 3     vector
v; 4 int vSize = 0; 5 void Insert(int num) { 6 v.push_back(num); 7 for(int i = vSize - 1; i >= 0; i--) { 8 if(v[i] <= num) { 9 v[i + 1] = num;10 break;11 } else {12 v[i + 1] = v[i];13 if(i == 0) v[0] = num;14 }15 }16 vSize++;17 }18 double GetMedian() {19 if(vSize & 1) return v[vSize >> 1];20 else return (v[vSize >> 1] + v[(vSize >> 1) - 1]) / 2.0;21 }22 };

 

转载于:https://www.cnblogs.com/jacen789/p/7747809.html

你可能感兴趣的文章
入门训练 Fibonacci数列
查看>>
20189222 《网络攻防技术》第一周作业
查看>>
第十二周编程总结
查看>>
数据结构——树——二叉查找树
查看>>
StringBuilder動態串
查看>>
系列文章(二):从WLAN的安全威胁,解析电信诈骗的技术症结——By Me
查看>>
内部类演示
查看>>
多态/接口
查看>>
简单的proxy之TinyHTTPProxy.py
查看>>
正式开张
查看>>
java中的注解
查看>>
日期选择组件(DatePicker)的实现
查看>>
Java 求字符串中出现频率最高字符
查看>>
ARM Cortex-M3 异常优先级以及CMSIS RTOS RTX的中断优先级
查看>>
CodeFirst-Section1之小例子
查看>>
Scikit-learn的kmeans聚类
查看>>
MySQL基础(创建库,创建表,添加数据)
查看>>
git 提交丢失Warning, you are leaving 2 commits behind,
查看>>
3、使用SWFUpload使异异步上传文件
查看>>
HDOJ 2136 Largest prime factor
查看>>