用别人打一局王者的时间,我又掌握了一道暴力枚举类型的蓝桥真题
蓝桥杯_最大化股票交易的利润
题目链接
题目描述:
实现一个算法寻找最大化股票交易利润的策略。介绍如下: - 股票价格每天都在变化,以数组的索引表示交易日,以数组的元素表示每天的股票价格。 - 可以通过买入和卖出获得利润。一天只能进行一次买入或卖出操作,一次买入加卖出操作称为一次交易次数。 - 你只能交易一次,求使得利润最大的交易策略。

输入:
输入描述: 第一行为数字 N,表示共有 N 天。 第二行为 N 个数字 Ai,表示每天的股票价格。 其中,1≤N,Ai≤1e4。 输入样例: 8 2 5 6 1 4 3 1 3

输出:
输出描述: 输出一行,为交易一次的最大利润(有可能利润为负)。 输出样例: 4

运行限制:
最大运行时间:1s 最大运行内存: 128M
方法:暴力破解
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[100005];
int n;
cin>>n;
int mini=-10000000;//用一个极小值
for(int i=0; i<n; i++) {//主角登场
cin>>a[i];
}
for(int i=0; i<n-1; i++) {//买入的时机,最晚也是最后一天的前一天
for(int j=i+1; j<n; j++) {//买出的时机是:从买入开始后的一天,到最后一天
int t=a[j]-a[i]; //买入-卖出
if(mini<t) {
mini=t; } } }
cout<<mini;
return 0;
}