方法一:可以從頭到尾遍歷,遍歷過程中,對以每個元素開頭的子陣列求連續最大和,最後從各個最大和中找出最大的。
方法二:使用動態規劃的方法,先以第乙個數為區域性最大和整體最大值,之後遍歷陣列,累加到區域性最大值上,若新加上的數比區域性最大值還要大,則把這個新數作為區域性最大值,直到遍歷結束;遍歷過程中,若區域性最大值大於整體最大值,則賦值給整體最大值。
/**
* 遍歷資料
* @param array 輸入陣列
* @return 輸出連續和的最大值
*/public int findgreatestsumofsubarray1(int array)
for(int i=0; imax)
}
} return max;
}/**
* 動態規劃
* @param array
* @return
*/public int findgreatestsumofsubarray(int array)
return res;
}public static void main(string args) ;
main5 test = new main5();
system.out.println(test.findgreatestsumofsubarray(array));
}
輸入: 陣列中連續子陣列的最大和
簡要解析 的連續子陣列最大值為40。從9到6的連續子陣列的和,為最大子陣列和 package com.zzh public class main int result maxarray array system.out.println 連續最大值為 result public static intm...
最大和連續子陣列
問題描述 乙個數值型陣列,其子陣列有多個,求其子陣列中最大的和值。所謂和值,是指數組所有元素相加的和。解法 1 掃瞄法,維護max變數,儲存最大和,其初始值為data 0 假設最大和子陣列的第一位下標為i,i從0到n 1,對於每個i值,從data i 開始,進行累加,每加乙個數,與max變數比較一次...
連續子陣列最大和
hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...