求子陣列的最大和
題目:
輸入乙個整形陣列,陣列裡有正數也有負數。
陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。
求所有子陣列的和的最大值。要求時間複雜度為o(n)。
例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2,
因此輸出為該子陣列的和18。
def
find
(a):
sum1 = a[0]
max1 = sum1
for i in range(1,8):
if sum1>0:
sum1 = sum1 + a[i] # 判斷前面序列的和,如果大於0就保留,繼續加下乙個數字
else:
sum1 =a[i] # 前面的序列不大於0,就捨去,從下乙個數字開始計算最大和.
if sum1>max1:
max1=sum1 # 如果計算的最大和是新的最大和,就更新最大和.這樣就忽略了後面和小於0的連續序列
return max1
a = [1,-2,3,10,-4,7,2,-5]
print find(a)
求子陣列和的最大值
題目要求 輸入乙個一維整形陣列,陣列裡有正數也有負數。一維陣列首尾相接,像個一條首尾相接帶子一樣。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。程式設計思路 1 首先建立乙個一維陣列a,進行資料儲存。2 定義變數,n用於求和,m為和最大值 3 開始for迴...
求子陣列的和的最大值
一 題目 輸入乙個整型陣列,陣列裡有正數也有負數。陣列中乙個或連續的多個整數組成乙個子陣列。求所有子陣列的和的最大值。要求時間複雜度為o n 例子說明 例如輸入的陣列為,和最大的子陣列為 3,10,4,7,2 因此輸出為該子陣列的和18 二 解題思路 舉例分析陣列的規律。我們試著從頭到尾逐個累加示例...
erlang 求子陣列和的最大值
前段時間修改為簡單方法 module son export son 1 son a son a,0,0 son max,sum max son head list max,sum new sum head sum,new max case new sum max of true new sum ma...