经典指数          
原因
2491
浏览数
1
收藏数
 

在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用实践复杂度低的方法实现。 给定价格序列prices及它的长度n,请返回最大收益。保证长度小于等于500。 测试样例: [10,22,5,75,65,80],6 返回:87

     举报   纠错  
 
切换
1 个答案
class Stock { public: int maxProfit(vector prices, int n) { // write code here if (n==0){ return 0; } vector pre_profit(n,0); vector post_profit(n,0); int min_buy = prices[0]; for(int i=1;i=0;j--){ max_sell = max(prices[j], max_sell); post_profit[j] = max(post_profit[j+1], max_sell-prices[j]); } int max_profit = 0; for(int i=0; i
 
切换
撰写答案
扫描后移动端查看本题