所以问题是:
输入一个正整数数组,需要返回新数组中所有元素的和,条件是:ifArray[i] > Array[j]
,thenArray[i] = Array[i] - Array[j]
。
示例:
[1,2,3] => [1,2,1] => [1,1,1] => output: 3
我的代码:
def solution(a):
while max(a) != min(a):
u = max(a)
a[a.index(u)] = u - min(a)
return (a[0] * len(a))
但是这段代码非常慢,如何重构它以获得更好的性能?你知道吗
您实现的代码大致将Euclidean algorithm应用于一组数字。以下代码与您的代码相同,但效率更高:
你的代码是否做了你想要它做的是另一回事。在python3.X中,
reduce
必须从functools
导入。你知道吗相关问题 更多 >
编程相关推荐