17 lines
340 B
Text
17 lines
340 B
Text
local function median(a)
|
|
local len = #a
|
|
if len == 0 then return nil end
|
|
local b = a:sorted()
|
|
local hlen = len // 2
|
|
if len % 2 == 1 then return b[hlen + 1] end
|
|
return (b[hlen] + b[hlen + 1]) / 2.0
|
|
end
|
|
|
|
local arrays = {
|
|
{4, 2, 5, 3, 1},
|
|
{9, 6, 8, 7},
|
|
{2},
|
|
{}
|
|
}
|
|
|
|
for arrays as a do print(median(a)) end
|