N个整数的中位数是指这N个整数排序后中间的那个数(即小于它和大于它的数的数量相等),如果个数为奇数,排序后中间的那个数即为中位数,并约定:如果N为偶数,则取排序后正中间的两个数的平均值(取整数)。编写程序,输出给定整数数组的前1个,前2个,……前N个的中位数(以空格分隔)。
输入格式:
第一行是整数的个数N(正整数)、第二行是空格间隔的N个整数。
输出格式:
花括号中的N个整数,以逗号分隔,依次是前一个,前两个,……前N个数的中位数(整数)。
输入样例:
6
-20 30 -10 10 40 -40
输出样例:
{-20,5,-10,0,10,0}
代码长度限制
16 KB
时间限制
40 ms
内存限制
64 MB
a = int(input())
b = input().split(" ")
b = list(map(lambda x:int(x),b))
d = []
def sort(a):
for j in range(1,len(a)):
for i in range(len(a)-1):
if a[i] > a[i+1]:
a[i], a[i+1] = a[i+1],a[i]
return a
for i in range(1,len(b)+1):
c = sort(b[0:i])
d.append(c[len(c)//2] if len(c) %2 == 1 else (c[len(c)//2]+c[len(c)//2-1])/2)
print("{",end = "")
for i in range(len(d)):
print(d[i],end = "")
print("," if i != len(d)-1 else "" ,end = "")
print("}")