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 algorithm to find the maximum profit. You may complete at most two transactions.

Note:
You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).

 

Code:

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

 

 

posted @ 2013-10-31 03:48  WinsCoder  阅读(115)  评论(0编辑  收藏  举报