在本教程中,我们将讨论一个计划,以寻找最大利润后,买卖股票。
为此,我们将提供一个数组包含股票奖金和交易费。我们的任务是找到最大的利润从股票和天的差异来实现它。
#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