每日一題 480 滑動視窗中位數

2021-10-19 00:11:01 字數 535 閱讀 9198

因為要尋找的是中位數,無非就是佇列中的第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 位。你的任...