これはインタビューの質問です。与えられた整数配列から、その要素の合計の絶対値が最小になる部分列 (連続している必要はありません) を見つけます。
DPの問題のようです。
Let
S1[i]
は、a[i]
その合計 > 0 およびabs (合計) が最小化される部分シーケンスです。Letは、合計 < 0 でabs (合計) が最小化
S2[i]
される部分シーケンスです。a[i]
S1[i]
if > 0 && < 0のすべてS1[j] + a[i]
の最小値j < i
S1[j] + a[i]
a[i]
S2[i]
if < 0 && > 0のすべてS2[j] + a[i]
の最小値j < i
S2[j] + a[i]
a[i]
これS1[i]
でS2[i]
、すべてのインデックスについて、その要素の最小絶対値を持つサブシーケンスを簡単に見つけることができます。
それは理にかなっていますか?