【Leetcode打卡冲冲冲】

文章目录

    • 121.买卖股票的最佳时机

121.买卖股票的最佳时机

解题思路
1.本题目的是获得利润最大。
2.根据目来设计,区间内利润最大值====> 因为数据是顺序的不可逆,可以选择当前位置与历史区间的最小成本,与最大利润。
3.当处理完整个数据,最终的结果就是目标。

class Solution {
public:
    int maxProfit(vector<int>& prices) {
    int res = 0;
    //minp记录历史区间成本最小值
    for(int i = 0 ,minp = INT_MAX; i < prices.size(); i++)
    {
       // res记录当前区间利润最大值,使用当前位置 - 历史成本最小值,得出当前位置利润最大;通过与历史利润比较,取最大的来更新利润最大值;
       res = max(res , prices[i] - minp);
       // 同上可证,minp也是使用上面的方法来迭代获取区间内成本最小的值;
       minp = min(minp, prices[i]);
    }
    return res;
    }
};

你可能感兴趣的:(数据结构与算法,leetcode,算法)