[leetcode] 122. Best Time to Buy and Sell Stock II

原创 2015年11月20日 11:07:18

Say you have an array for which theith element is the price of a given stock on day i.

Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).

这道题和第121题相关,不同的是操作次数不限,但在买入股票之前要先卖出之前买入的,让计算最大收益,题目难度为Medium。


针对每天的股价,我们可以思考,如果比昨天的股价高,我们昨天买入今天卖出,这两天的收益就拿到了,如果比昨天的股价低,昨天就不买,这样不会降低我们的收益。这样每两天之间只要有收益我们都能够拿到,降低收益的时候我们都没有买入,因而能够达到最大收益,股神!!通过以上分析可以看出这种贪婪策略能够得到最优解。具体代码:

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode_c++:Best Time to Buy and Sell Stock II(122)

题目Say you have an array for which the ith element is the price of a given stock on day i.Design an a...
  • mijian1207mijian
  • mijian1207mijian
  • 2016年06月10日 23:19
  • 294

【LeetCode】【Python题解】Best Time to Buy and Sell Stock II

Say you have an array for which the ith element is the price of a given stock on day i. Design an...
  • u011613729
  • u011613729
  • 2014年07月24日 10:11
  • 3440

Leetcode_122_Best Time to Buy and Sell Stock II

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43155725 Say you have an a...
  • pistolove
  • pistolove
  • 2015年01月26日 18:28
  • 1468

leetcode【121+122+123 best time to buy and sell stock】【python】

我们先拿出来前三道题,因为他们都是array中的题目。这是leetcode种经典的一系列题,涉及到动态规划和贪心算法。按照我的理解,贪心是满足当前条件的最优值我们就将它最为最优解,也就是大家说的局部最...
  • u014251967
  • u014251967
  • 2016年09月12日 21:04
  • 802

【LeetCode】 Best Time to Buy and Sell Stock I II III IV 解题报告

Best Time to Buy and Sell Stock I题意:用一个数组表示股票每天的价格,数组的第i个数表示股票在第i天的价格。 如果只允许进行一次交易,也就是说只允许买一支股票并卖掉,求...
  • ljiabin
  • ljiabin
  • 2015年04月06日 11:10
  • 21774

LeetCode(122)Best Time to Buy and Sell Stock2

题目如下: Say you have an array for which the ith element is the price of a given stock on day i. Design...
  • feliciafay
  • feliciafay
  • 2014年01月21日 03:11
  • 2313

Best Time to Buy and Sell Stock II -- LeetCode

原题链接: http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/  这道题跟Best Time to Buy and...
  • linhuanmars
  • linhuanmars
  • 2014年04月09日 05:33
  • 9692

LeetCode OJ 系列之122 Best Time to Buy and Sell Stock II --Python

Problem: Say you have an array for which the ith element is the price of a given stock on day i. ...
  • ln152315
  • ln152315
  • 2015年11月26日 09:21
  • 286

关于LeetCode中Best Time to Buy and Sell Stock一题的理解

题目如下: Say you have an array for which the ith element is the price of a given stock on day i. If yo...
  • zsy112371
  • zsy112371
  • 2016年09月09日 13:55
  • 833

[LeetCode] Best Time to Buy and Sell Stock IV

Say you have an array for which the ithi^{th} element is the price of a given stock on day ii.Design...
  • u011331383
  • u011331383
  • 2015年02月23日 00:08
  • 8773
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode] 122. Best Time to Buy and Sell Stock II
举报原因:
原因补充:

(最多只允许输入30个字)