給定由n個整數組成的序列(a1, a2, …, an),最大子段和問題要求該序列形如
的最大值(1≤i≤j≤n),當序列中所有整數均為負整數時,其最大子段和為0。例如,序列(-20, 11, -4, 13, -5, -2)的
最大子段和為
① a1, …, an的最大子段和=a1, …,a 的最大子段和;② a1, …, an的最大子段和=a +1, …, an的最大子段和;
③ a1, …, an的最大子段和=
int maxsum(int a[ ], int left, int right)
else
s2=0; rights=0; //再求解s2
for (j=center+1; j<=right; j++)
sum=s1+s2; //計算情況③的最大子段和
if (sum
//合併,在sum、leftsum和rightsum中取較大者
if (sum
}return sum;
}
第四章 函式和遞迴例題
例題4 1 組合數 輸入非負整數m,n輸出組合數c n,m m n 20 分析 從普通思維出發先算n 再算m 再算 n m 最終我們會發現,20!以及超出整數所能表示的範圍。因此此題不宜使用這種方法。經分析,我們發現n 和m 或者 n m 有重疊的部分,可以約去。因此得到如下解法 includeus...
第四章 繼承
一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...
第四章 物件
三個特性 身份 型別 值 每個物件都有唯一的身份來標識自己,使用內建函式id 得到。例子 usr bin env python coding utf 8 a 32 print a b a print id a id b 結果 d python27 python.exe e workp python ...