AcWing 104. 货仓选址-python3题解
原题链接
简单
作者:
Tiany
,
2021-01-12 20:11:55
,
所有人可见
,
阅读 514
中位数思想
方法一
# 采用取反的方式来获取列表中位数
n = int(input())
# 以空格为间隔输入数字字符串后转为数字列表
N = list(map(int, input().split()))
N.sort()
half = n // 2 # 计算中位数位置
median = (N[half] + N[~half]) // 2 # 计算中位数
res = 0
for i in range(n):
res += int(abs(median-N[i]))
print(res)
方法二
# 使用numpy模块来获取列表中位数
import numpy as np
n = int(input())
# 以空格为间隔输入数字字符串后转为数字列表
N = list(map(int, input().split()))
median = np.median(N) # 计算中位数
res = 0
for i in range(n):
res += int(abs(median-N[i]))
print(res)