金融ソフトウェア会社によるプログラマー職の面接質問
Q1) i 番目の要素が i 日目の特定の株式の価格である配列があるとします。
株式の 1 株の購入と 1 株の売却のみが許可されている場合、売買に最適な時期を見つけるアルゴリズムを設計します。
私の解決策: 私の解決策は、arraysize-1 日間の i 日と i+1 日の間の株価の差の配列を作成し、Kadane アルゴリズムを使用して最大の連続部分配列の合計を返すことでした。最大の連続配列の開始点で売り、最大の連続配列の最後で売ります。
私の解決策が正しいかどうか疑問に思っています。より良い解決策はありますか???
答えると、フォローアップの質問をされましたが、まったく同じように答えました
Q2) 次の 10 日間の会社 x の将来の終値がわかっている場合、毎日 (毎日 1 つの決定のみを行うことができます)、購入、販売、または保持する必要があるかどうかを決定するアルゴリズムを設計します利益を最大化する目的
例: 1 日目の終値:2.24
2 日目の終値:2.11
...
10 日目の終値:3.00
私の解決策:上記と同じ
毎日決定を下すことができることを考えると、利益を最大化するためのより良いアルゴリズムがあるかどうかを知りたいです