すべての連続サブシーケンスの最大和の計算について
624 ワード
以下は,すべての連続サブシーケンスの計算に関する最大および問題の中で最も暴力的な方法である.
しかし、このコードに基づいて再最適化することができます.
if文の比較をmax()で処理する問題
最適化後、彼のサイクル数とコード量が大幅に減少したことがわかります.
def lagerset_sum(arr)
res = arr[0]
sum = res
for i in range(1,len(arr)):
if sum>0:
sum = sum + arr[i]
else:
sum = arr[i]
if sum>res:
res = sum
return res
しかし、このコードに基づいて再最適化することができます.
if文の比較をmax()で処理する問題
def largest_sum(arr):
sum = max_sum = 0
for n in arr:
sum = max(sum + n, 0)
max_sum = max(sum, max_sum)
return max_sum
最適化後、彼のサイクル数とコード量が大幅に減少したことがわかります.