1
排序列表的問題是:在Python(一種方式)
輸入正整數數組,需要用條件返回新數組所有元素的總和:如果Array[i] > Array[j]
然後Array[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))
但這種代碼是很慢的,我怎麼能重構它有更好的表現?
您是否正在手動執行此操作?換句話說,你不想使用'sorted'?因爲你使用'max'和'min',但不是'sorted'有點*有趣。 – idjaw
'min','max'和'index'是'O(n)',這就是代碼變慢的原因。 – ForceBru
如何使用這種條件對此數組進行排序? –