Best Time to Buy and Sell Stock III
来源:互联网 发布:多元高斯分布知乎 编辑:程序博客网 时间:2024/06/03 01:29
题目:
Say you have an array for which the ith element is the price of a given stock on dayi.
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).
代码如下:
int maxProfit(vector<int> &prices) {
int n=prices.size();
if(n<=1)return 0;
vector<int> left(n,0);
vector<int> right(n,0);
int minl=prices[0];
for(int i=1;i<n;i++)
{
minl=std::min(minl,prices[i]);
left[i]=std::max(left[i-1],prices[i]-minl);
}
int maxr=prices[n-1];
for(int i=n-2;i>=0;i--)
{
maxr=std::max(maxr,prices[i]);
right[i]=std::max(right[i+1],maxr-prices[i]);
}
int sum=0;
for (int i=0;i<n;i++)
sum=std::max(sum,left[i]+right[i]);
return sum;
}
- LeetCode Best Time to Buy and Sell Stock III
- LeetCode Best Time to Buy and Sell Stock III
- [Leetcode] Best Time to Buy and Sell Stock III
- leetcode 16: Best Time to Buy and Sell Stock III
- LeetCode Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock III
- [LeetCode] Best Time to Buy and Sell Stock III
- leetcode 62: Best Time to Buy and Sell Stock III
- [LeetCode] Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock III
- 【leetcode】Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock III
- LeetCode - Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock III
- Best Time to Buy and Sell Stock III
- LeetCode之Best Time to Buy and Sell Stock III
- [LeetCode]Best Time to Buy and Sell Stock III
- windows api 多线程
- javascript基础大全
- android 动态注册sdcard插播事件监听器
- oracle动态视图v$,v_$,gv$,gv_$与x$之间的关系
- 工作流工时统计
- Best Time to Buy and Sell Stock III
- 黑马程序员_其他对象
- java初学者,对环境变量设置的学习
- InstallShield2010 Basic MSI Project 学习笔记
- ORACLE中的ROUND函数
- Android UI开发第三十篇——使用Fragment构建灵活的桌面
- 变量 (程序设计)
- Android Virtual Device Manager失去响应后,被强制关闭,之后无法打开Android Virtual Device Manager
- Activity的启动模式