#<span style="color:red">1.題目要求</span> ###<span style="color:blue">求最大連續子數組和(最大子段和)</span> 給定n個整數(可能爲負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均爲負數時定義子段和爲0,依此定義,所求的最優值爲: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n 例如,當(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)時,最大子段和爲20。 #<span style="color:red">2.算法思路及分析</span> ##<span style="color:blue">2.1題目分析</span> 創建一個動態的子數組temp,此子數組用於存儲每一次相加獲得的子段和,再創建一個子數組fina用於存儲最後結果,並將兩者初始值均定義爲0。令temp的值等於相鄰子數相加的結果,將其與fina的值比較,若temp的值大於fina,則令fina等於temp,不然不變,若temp<0,則將temp置爲0,此舉是爲了保證以前的和小於0,就不計入下一次計算,最終能夠得出正確結果 ##<span style="color:blue">2.2邏輯覆蓋方法的比較</span> 1.語句覆蓋:語句覆蓋是最起碼的結構覆蓋要求,語句覆蓋要求設計足夠多的測試用例,使得程序中每條語句至少被執行一次。 2.斷定覆蓋:斷定覆蓋又稱爲分支覆蓋,它要求設計足夠多的測試用例,使得程序中每一個斷定至少有一次爲真值,有一次爲假值。 3.條件覆蓋:條件覆蓋要求設計足夠多的測試用例,使得斷定中的每一個條件得到各類可能的結果,即每一個條件至少有一次爲真值,有一次爲假值。 4.條件/斷定覆蓋:設計足夠多的測試用例,使得斷定中每一個條件的全部可能結果至少出現一次,每一個斷定自己全部可能結果也至少出現一次。 5.組合覆蓋:要求設計足夠多的測試用例,使得每一個斷定中條件結果的全部可能組合至少出現一次 #<span style="color:red">3.代碼展現及流程圖</span> ##<span style="color:blue">3.1待測試的代碼</span> 代碼文件 https://coding.net/u/qq1537992316/p/ruangongzuoye/git?public=true ##<span style="color:blue">3.2流程圖展現</span>
#<span style="color:red">4.單元測試及結果</span> ##<span style="color:blue">4.1條件組合測試用例</span> ###給出四種覆蓋狀況: (1){-2,11,-4,13,-5,-2},覆蓋條件爲:BDE; (2){-5,3,2,4},覆蓋條件爲:ACE; (3){-2,4,6,4},覆蓋條件爲:ACDE; (4){-9,-5,-8,11,20,-2,9},覆蓋條件爲:BDEF。 ##<span style="color:blue">4.2測試代碼</span>
##<span style="color:blue">4.3測試結果</span>
git