連續子串行的若干問題

2021-06-05 21:57:58 字數 2018 閱讀 3369

最大和:

太經典的問題。不說了。

對於最大積問題:

由於負數的存在,我們不能簡簡單單只存乙個當前最大值,我們還需要存當前最小值。

我們令f(n)表示[0,n]區間內以d[n]為結尾的最大積,令g(n)表示[0,n]區間內以d[n]為結尾的最小積,d為原序列,那麼有:

f(n + 1) = max

g(n + 1) = min

實際上,這個遞推公式是重點。

view source

print?

01///

02/// 求解最大子段積,返回結果以及最優解的始末下標

03///

04/// 輸入序列

05/// 返回最優解的起始下標

06/// 返回最優解的結束下標

07/// 最大子段積

08publicstaticlongmaxsubmul(intseq, outintbeginindex, outintendindex)

09

28else

29

35if(seq[i] > max)

36

40else

41

45if(seq[i] < min)

46

50else

51

55if(curmaxmul > maxmul)

56

61}

62returnmaxmul;

63}

絕對值最小:

這題還是起源於微軟的一道題:求陣列中兩個數,使得其差的絕對值最小。有人提出了將該題轉化為連續子串行求和問題,結果 「求連續子串行,使得其和的絕對值最小」 這一問題反倒不好解決。這裡想說的是,那何不把這問題轉化回去,至少原問題 「求陣列中兩個數,使得其差的絕對值最小」 排序即可解決,n*long(n)。

均值最大/最小:

ceph若干問題

ceph health可以檢視ceph集群健康狀況 ceph df 可以檢視儲存的總使用率與各pool的使用率 ceph osd df 可以檢視各osd的使用率 ceph s 或 ceph status 可以檢視集群整體狀態 首先,我們要知道ceph的osd的位址 ceph osd tree可以檢視...

Ext grid 若干問題

1.grid.getselectionmodel getcount 獲得當前選中的行數 2.grid.getstore gettotalcount 獲得記錄總數 3.grid.getstore getcount 獲得當前分頁的記錄總數 4.5.獲得當前滑鼠單擊的單元格的value 6.new gri...

css樣式若干問題

web 技術開發的非常優秀的學習材料 1.優先順序問題 css優先順序包含四個級別 文內選擇符,id選擇符,class選擇符,元素選擇符 以及各級別出現的次數。根據這四個級別出現的次數計算得到css的優先 級。可以試試 s f 原文 2.多類選擇器 在上一節中,我們處理了 class 值中包含乙個詞...