【发布时间】:2015-10-11 07:18:42
【问题描述】:
我正在尝试为列表中的元素重新分配值,并尝试找出要执行的步骤。
例如,我在列表 [1,1,1,1,6] 中有 5 个元素,平均值为 2
我想替换所有元素 [2,2,2,2,2]
这需要 4 步才能完全一样。
First Step [1,1,1,1,6] -> [2,1,1,1,5]
Second Step [2,1,1,1,5] -> [2,2,1,1,4]
Third Step [2,2,1,1,4] -> [2,2,2,1,3]
Fourth Step [2,2,2,1,3] -> [2,2,2,2,2]
我无法为此编写算法,感谢任何帮助或提示。
这是我获取输入的python代码:
test_cases=input()
packets=[]
candies=[]
for _ in range(test_cases):
packet=input()
for i in range(0,packet):
candy=input()
candies.append(candy)
print candies
if sum(candies)%packet==0:
print (sum(candies)/packet),"mean"
else:
print "-1"
【问题讨论】:
-
所以你的输出应该是
[2,2,2,2,2]? -
mean 为 2,中位数为 1。将
[1, 1, 1, 1, 6]变为[2, 2, 2, 2, 2]所需的“移动次数”如何等于 4?需要进行五项更改。 -
我知道输出,但我想编写算法来找出需要多少步骤才能使所有内容相同
-
抱歉我打错了它的意思不是中值你的权利@BrianO
-
你不是已经有算法了吗?你是如何解决这个例子的?这样看:您展示的四个步骤中遵循的过程是什么?