ツー ショット戦略アルゴリズムと k ショット戦略アルゴリズムを理解するのは難しいと思います。ここでまた質問です:
Q1) arr は長さ n の配列です。i0 < j0 < i1 < j1 という条件に従って、A[j0]-A[i0] + A[j1]-A[i1] の最大値を計算します
回答) O(n) でシングルショット (つまり、最大利益の売買株) を実行できます。同じ手法を適用して、0..j から max を見つけ、j..n から max を見つけることができます。それは O(n2) 解になります。
Elements of Programming interviews book suggests a way of doing this in O(n) time by:
doing a forward iteration and storing solution for A[0:j] such that 1<=j<=n-1 and then a backward iteration for A[j:n-1] such that 0<=j<=n-2 and then combining the two results. Does anyone have any idea how this can be done?
Q2) k-shotはどうしますか?
ありがとう!!