因為要尋找的是中位數,無非就是佇列中的第k個或(第k個加k-1個)/2
維護乙個用於查詢中間值的佇列即可
唯一一點我不知道怎麼把ans直接轉成double的陣列
public
double
medianslidingwindow
(int
nums,
int k)
while
(rightelse
right++
; sum.
remove
(sum.
indexof
(nums[left]))
; left++;}
double
p =
newdouble
[ans.
size()
];for(
int i=
0;isize()
;i++
)return p;
}
每日一題 480 滑動視窗中位數
避免每日太過鹹魚,一天搞定一道leetcode演算法題 難度 困難中位數是有序序列最中間的那個數。如果序列的大小是偶數,則沒有最中間的數 此時中位數是最中間的兩個數的平均數。例如 2,3,4 中位數是 3 2,3 中位數是 2 3 2 2.5 給你乙個陣列 nums,有乙個大小為 k 的視窗從最左端...
480 滑動視窗中位數
題目描述 中位數是有序序列最中間的那個數。如果序列的大小是偶數,則沒有最中間的數 此時中位數是最中間的兩個數的平均數。例如 2,3,4 中位數是 3 2,3 中位數是 2 3 2 2.5 給你乙個陣列 nums,有乙個大小為 k 的視窗從最左端滑動到最右端。視窗中有 k 個數,每次視窗向右移動 1 ...
480 滑動視窗中位數
中位數是有序序列最中間的那個數。如果序列的長度是偶數,則沒有最中間的數 此時中位數是最中間的兩個數的平均數。例如 2,3,4 中位數是 3 2,3 中位數是 2 3 2 2.5 給你乙個陣列 nums,有乙個長度為 k 的視窗從最左端滑動到最右端。視窗中有 k 個數,每次視窗向右移動 1 位。你的任...