题目:
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。
class Solution {
public:
// /***********************方法一:暴力解法***************************************/
// int maxProfit(vector<int>& prices)
// {
// /*
// 写错了1点
// 1、关于初始化 pri_max 时,我将其初始化为 INT_MIN 了,出错示例是 整个降序的数组,
// 如果全是降序,那么输出应该是 0,所以应该初始化为 0。
// 2、 这个不是错误,只不过我用了不同的表现方法,其实用 三目运算符 和 用 max函数 是一个意思
// */
// int pri_max = 0;
// for(int i = 0; i < prices.size() - 1; i++)
// {
// for(int j = i + 1; j < prices.size(); j++)
// {
// pri_max = pri_max > (prices[j] - prices[i]) ? pri_max : (prices[j] - prices[i]);
// // pri_max = max(pri_max, prices[j] - prices[i]);
// }
// }
// return pri_max;
// }
// /*******************