您的位置:首页
leetcode第一刷_Best Time to Buy and Sell Stock
2017-05-27 11:32
429 查看
这样的题就不要去考虑N^2的算法了。肯定会超时的。乍一看,非常可能会想到贪心,可是普通的贪心思路是不行的,比方想找到一个最小值用来买入。尽管它跟最大值之间的差一定是最好的,可是最大值出如今它前面就不行了,找出如今它后面的最大值,仅仅只是是一个局部最优,非常可能前面的最大和次小比他们要好。
所以呢,贪心找的不是两个点,而是差。这种话。每一步都维护一个最小值,然后算跟当前最小之间的差来更新最后的结果。
代码简洁,不在赘述。
所以呢,贪心找的不是两个点,而是差。这种话。每一步都维护一个最小值,然后算跟当前最小之间的差来更新最后的结果。
代码简洁,不在赘述。
class Solution { public: int maxProfit(vector<int> &prices) { int len = prices.size(); if(len<=1) return 0; int mmax_profit = 0, mmin = prices[0]; for(int i=1;i<len;i++){ mmin = min(mmin, prices[i]); mmax_profit = max(mmax_profit, prices[i] - mmin); } return mmax_profit; } };
相关文章推荐
- leetcode第一刷_Best Time to Buy and Sell Stock III
- leetcode第一刷_Best Time to Buy and Sell Stock II
- leetcode第一刷_Best Time to Buy and Sell Stock
- leetcode第一刷_Best Time to Buy and Sell Stock II
- leetcode第一刷_Best Time to Buy and Sell Stock III
- [leetcode] Best Time to Buy and Sell Stock
- leetcode 16: Best Time to Buy and Sell Stock III
- LeetCode Best Time to Buy and Sell Stock III
- [Leetcode] Best Time to Buy and Sell Stock III
- [LeetCode] Best Time to Buy and Sell Stock II Solution
- [leetcode]Best Time to Buy and Sell Stock
- [LeetCode] Best Time to Buy and Sell Stock
- [LeetCode] Best Time to Buy and Sell Stock 2
- LeetCode Best Time to Buy and Sell Stock
- [LeetCode] Best Time to Buy and Sell Stock Solution
- leetcode5: Best Time to Buy and Sell Stock
- Leetcode: Best time to buy and sell a stock I
- LeetCode Best Time to Buy and Sell Stock III
- [Leetcode] Best Time to Buy and Sell Stock
- LeetCode Best Time to Buy and Sell Stock II