資料流中的中位數
題目:
如何得到一個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。我們使用Insert()方法讀取資料流,使用GetMedian()方法獲取當前讀取資料的中位數。
思路:
- 時間複雜度最小的是用大小堆來儲存中位數左右兩側的最大最小值,然鵝還沒複習到堆,暫時放一下
- 這裡使用暴力法:列表儲存輸入,在獲取時排個序先
程式碼:
import java.util.Collections;
import java.util.ArrayList;
public class Solution {
private ArrayList<Integer> list = new ArrayList();
public void Insert(Integer num) {
list.add(num);
}
public Double GetMedian() {
Collections.sort(list);
if(list.size()==0){
return null;
}
else if(list.size()%2==0){
return (list.get(list.size()/2-1)+list.get(list.size()/2))/2.0;
}else{
return Double.valueOf(list.get(list.size()/2));
}
}
}
相關文章
- 求資料流中的中位數問題
- JZ-063-資料流中的中位數
- 《劍指offer》:[64]資料流中的中位數
- SAP中的小資料位數
- 在 MySQL 中,如何計算一組資料的中位數?MySql
- Java 中的資料流和函數語言程式設計Java函數程式設計
- Burpsuite中protobuf資料流的解析UI
- mysql 求分組中位數、環比、同比、中位數的環比、同比MySql
- goim 中的 data flow 資料流轉及思考Go
- SAP 資料庫表 TCURX 在定義貨幣欄位小數點位數中的重要作用資料庫
- 如何檢視錶中的二進位制流
- 向資料庫中全部表中增加一個欄位的SQL資料庫SQL
- Spark拉取Kafka的流資料,轉插入HBase中SparkKafka
- ServletRequest一旦讀取了流,流就關閉了,流中的資料一旦被消費就不能再次從流中讀取了,Servlet 是如何還能夠從ServletRequest流中讀取資料的Servlet
- 工作流中的資料持久化詳解!Activiti框架中JPA的使用分析持久化框架
- 保留資料庫表中的資料,把表中的欄位varchar2改成clob型別資料庫型別
- WebApi 中請求的 JSON 資料欄位作為 POST 引數傳入WebAPIJSON
- 資料庫中欄位資料型別以及約束資料庫資料型別
- 尋找兩個正序陣列中的中位數陣列
- 關於python中format佔位符中的 {!} 引數PythonORM
- 二進位制中1的個數
- 兩個有序陣列的中位數陣列
- Android ListView中複雜資料流的高效渲染(一)AndroidView
- php資料流中第K大元素的計算方法PHP
- Spring Cloud資料流中的組合函式支援SpringCloud函式
- Oralce中設定小數點位數
- Sql查詢 一個表中某欄位的資料在另一個表中某欄位中不存在的SQL
- Redis中快取二進位制資料Redis快取
- 把64位的unix系統資料庫遷移到32位的windows系統資料庫中資料庫Windows
- 資料庫中的圖片欄位怎麼在報表中呈現資料庫
- 控制資料的小數位數 java / jsJavaJS
- Oracle資料庫系統中的引數Oracle資料庫
- Oracle資料庫中的系統引數Oracle資料庫
- 位運算--求一個 數二進位制中1的個數
- 位運算(一):二進位制中1的個數
- 隱私AI框架中的資料流動與工程實現AI框架
- Antd中InputNumber元件數字限制小數位數元件
- awk 中的欄位、記錄和變數變數