首页 > 其他 > 详细

Leetcode-Best Time to Buy and Sell Stock III

时间:2014-11-25 14:00:14      阅读:262      评论:0      收藏:0      [点我收藏+]

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).

Analysis:

We calculate two things:1. from day 0 to day i, what the maximum profit we can get by performing only one transcation. 2. from any day i to the end, what the maximum profit we can get by performing one transcation. We then find out the maximum profit by adding them up for each day.

Solution:

 1 public class Solution {
 2     public int maxProfit(int[] prices) {
 3         int len = prices.length;
 4         if (len==0 || len==1) return 0;
 5 
 6         int[] posProfit = new int[len];
 7         int[] negProfit = new int[len];
 8 
 9         int maxProfit = 0;
10         int curProfit = 0;
11         int minPrice = prices[0];
12         for (int i=0;i<len;i++){
13             if (minPrice>prices[i]) minPrice = prices[i];
14             curProfit = prices[i]-minPrice;
15             if (curProfit>maxProfit) maxProfit = curProfit;
16             posProfit[i] = maxProfit;
17         }
18 
19         maxProfit = 0;
20         curProfit = 0;
21         int maxPrice = prices[len-1];
22         for (int i=len-1;i>=0;i--){
23             if (maxPrice<prices[i]) maxPrice = prices[i];
24             curProfit = maxPrice-prices[i];
25             if (curProfit>maxProfit) maxProfit = curProfit;
26             negProfit[i]=maxProfit;
27         }
28 
29         int res = 0;
30         for (int i=0;i<len;i++)
31             if (res<posProfit[i]+negProfit[i]) res = posProfit[i]+negProfit[i];
32 
33         return res;
34     }
35 }

 

Leetcode-Best Time to Buy and Sell Stock III

原文:http://www.cnblogs.com/lishiblog/p/4120725.html

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