0

尽管我对任何其他编程语言都很好,但尝试用 PHP 给出想法/答案

有一个具有以下模式的数组;

$arr = array(
   0 => '12',
   1 => '38',
   2 => '25',
   3 => '4',
   ...
   365 => '45',
);

它基本上是全年 365 天的一系列价值和股票价格。

As far as I can remember the question;

  • 作为$arr您的输入,编写一个函数,这样您就可以在股票价格低的时候买入,在价格高的时候卖出。函数必须返回以下数组

    $return = array(
        'buy-date'  => '', // day you should've bought, so it price should be low
        'sell-date' => '', // day you should've sold, so its price should be high so you make profit
        'profit'    => ''  // value of profit
    );
    
  • 重要的提示; 购买股票后的 30 天内不能卖出。

因此,诀窍是对于任何给定的时间段/月,您可能想在最低的日期买入,但由于您在 30 天后无法卖出,因此您购买的股票您可能想在最低的第 4 天买入,因此您仍然可以在下一个最畅销的日子。(希望我对此很清楚)

除了给我代码片段,给我想法,算法等,我想了解如何处理这样的问题。

4

1 回答 1

3

蛮力方法很容易编码。对于 0-335 的每一天,计算当日买入并在接下来的 1-30 天内卖出的利润。如果利润大于目前找到的最大利润,请记住它作为最大利润,以及买入和卖出日期。

于 2012-11-29T02:22:39.240 回答