首页 > 其他 > 详细

Best Time to Buy and Sell Stock

时间:2015-04-07 23:02:25      阅读:247      评论:0      收藏:0      [点我收藏+]

给定一个向量,该向量表示一只股票在第i天的价格,y要使得股票收益最大就应该在第i天买入,第i+n天卖出,求最大收益的值是多少

思路:用一个变量记录最小值,一个变量记录最大收益,从头到尾扫描一次价格,当扫描到第i天的价格时,如果这个价格比最小值小,则替换,如果比最小值大,则计算此刻的收益是否大于最大收益,大于则替换,否则继续。

    1. class Solution {
    2. public:
    3. int maxProfit(vector<int> &prices) {
    4. int profit = 0;
    5. int minIndex = 0;
    6. for (size_t i = 1; i < prices.size(); i++)
    7. {
    8. if (prices[i] < prices[minIndex])
    9. {
    10. minIndex = i;
    11. }
    12. else if (prices[i] - prices[minIndex] > profit)
    13. {
    14. profit = prices[i] - prices[minIndex];
    15. }
    16. }
    17. return profit;
    18. }
    19. };




Best Time to Buy and Sell Stock

原文:http://www.cnblogs.com/flyjameschen/p/fc52ba9c5d9bf3e05afc6ddc75d4ae58.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!