c++中买卖股票后的最大利润

在本教程中,我们将讨论一个计划,以寻找最大利润后,买卖股票。

为此,我们将提供一个数组包含股票奖金和交易费。我们的任务是找到最大的利润从股票和天的差异来实现它。

示例

#include <bits/stdc++.h>

using namespace std;

//calculating maximum profit

int max_profit(int a[],int b[],int n,int fee) {

   int i, j, profit;

   int l, r, diff_day = 1, sum = 0;

   b[0]=0;

   b[1]=diff_day;

   for(i=1;i<n;i++) {

      l=0;

      r=diff_day;

      sum=0;

      for(j=n-1;j>=i;j--) {

         profit=(a[r]-a[l])-fee;

         //if getting loss or no profit

         if(profit>0) {

            sum=sum+profit;

         }

         l++;

         r++;

      }

      if(b[0] < sum) {

         b[0] = sum;

         b[1] = diff_day;

      }

      diff_day++;

   }

   return 0;

}

int main() {

   int arr[] = { 6, 1, 7, 2, 8, 4 };

   int n = sizeof(arr) / sizeof(arr[0]);

   int b[2];

   int tranFee = 2;

   max_profit(arr, b, n, tranFee);

   cout << b[0] << ", " << b[1] << endl;

   return 0;

}

输出结果
8, 1

以上是 c++中买卖股票后的最大利润 的全部内容, 来源链接: utcz.com/z/322909.html

回到顶部