积少成多

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Say you have an array for which the ith 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).

=======================

股票交易问题II

题目:与I不同的地方是,可以做尽可能做的交易,

这一次你可以买一只股票,卖一只股票多次;但是你不能在同一时间进行多次交易,

就是说你必须在你买股票之前,卖掉所有到的股票。

[]

=========

code:

class Solution {
    //这一次你可以买一只股票,卖一只股票多次;但是你不能在同一时间进行多次交易,
    //就是说你必须在你买股票之前,卖掉所有的股票
public:
    int maxProfit(vector<int>& prices) {
        //举个例子[5,1,4,5,3,4,5]
        //        [0,3,1,0,1,1]
        //j就是说所有能赚钱的机会,你都能抓住
        //而不是只能作一次交易,只能赚5-1=4
        int length = prices.size();
        int total = 0;
        for(int i = 1;i<length;i++){
            if(prices[i]>prices[i-1]){
                total += prices[i]-prices[i-1];
            }
        }//

        return total;
    }
};

 

posted on 2016-06-28 22:01  x7b5g  阅读(124)  评论(0编辑  收藏  举报