Leetcode Best Time to Buy and Sell Stock

来源:互联网 发布:数据分级 英语 编辑:程序博客网 时间:2024/06/05 10:51

https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/

O(n^2)的就不用说了,一层遍历start_idx 一层遍历end_idx, 所以要在O(n)时间做的话 就是一次遍历记录两个位置,特殊点在于, start_idx总是当前最小, 答案一定的在这样的解中产生,就是 当前值减去当前最小值。


class Solution {public:    int maxProfit(vector<int>& prices) {        if (prices.size() == 0) return 0;        int ret = 0, cur_min = prices[0];        for (int i = 1; i < prices.size(); i++) {            ret = max(ret, prices[i] - cur_min);            if (prices[i] < cur_min) {                cur_min = min(prices[i], cur_min);            }        }        return ret;    }};



原创粉丝点击