• 思路
    • 最暴力的做法是无论输入如何,双层循环i,j,选出max_profit;
    • 参考大佬的代码,只要写一层循环i,还有一个变量index =0,只有当price_vec[j]>price_vec[index]时才更新index = i;如输入为1 9 45 23 89 34时,index=0不需再更新,遍历一遍数组就够了;
  • 代码
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> price_array;
    int temp_price;
    int max_profit = 0;
    int index = 0;
    while(cin >> temp_price){
        price_array.push_back(temp_price);
        if(getchar()=='\n')
            break;
    }
    for(int i =0; i < price_array.size(); i++){
        if(price_array[i] - price_array[index] > 0){
            int temp = price_array[i] - price_array[index];
            max_profit = (max_profit < temp)? temp : max_profit;
        }
        else{
            index = i;
        }
    }
    cout << max_profit << endl;
    return 0;
}