关闭

[LeetCode] 121. Best Time to Buy and Sell Stock

标签: leetcode遍历
49人阅读 评论(0) 收藏 举报
分类:

思路:
两个变量记录最小价钱和最大盈利, 遍历整个数组, 如果当前这个数大于前面的数, 说明肯定至少有一次增长, 此时求一下最大盈利, 否则的话就更新最小值即可.

int maxProfit(vector<int>& prices) {
    if (prices.size() < 2)
        return 0;
    int minPrice = prices[0], maxProfit = 0;
    for (int i = 1; i < prices.size(); i++) {
        if (prices[i] > prices[i - 1])
            maxProfit = max(maxProfit, prices[i] - minPrice);
        else
            minPrice = min(minPrice, prices[i]);
    }
    return maxProfit;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13987次
    • 积分:1861
    • 等级:
    • 排名:千里之外
    • 原创:182篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档