我希望在python中实现一个简单的算法,它以数组和和作为输入,并找到一个数字X,如果数组中的所有元素都被转换为X,数组中的所有元素都应该加起来。
我如何有效地做到这一点?
这是我的代码:
result = []
for _ in range(int(raw_input())):
input_array = map(int,raw_input().split())
sum_target = raw_input()
for e in input_array:
test_array = input_array
test_array[test_array > e] = e // supposed to replace all elements > e with e, but what's wrong here?
if sum(test_array) == sum_target:
result.append(e)
print result发布于 2017-07-02 21:46:55
使用Numpy库(import numpy),您可以替换行
input_array = map(int,raw_input().split())使用
input_array = numpy.array(raw_input().split()).astype(int)然后
test_array[test_array > e] = e只是起作用。然后,你也可以做test_array.sum()。
(也就是说,如果要就地更改数组,则可以替换
test_array = input_array使用
test_array = np.array(input_array)https://stackoverflow.com/questions/44864694
复制相似问题