[Leetcode 123] Best Time to Buy and Sell Stock III
来源:互联网 发布:网络思想政治教育提出 编辑:程序博客网 时间:2024/05/28 05:14
Question
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).思路
这是一个动态规划问题。首先最开始收入为0;
我们用
firstBuy=INT_MIN, firstSell=0,
secondBuy=INT_MIN, secondSell=0;
分别表示第一次买进的 收益(负数), 第一次买出的 收益, 第二次买进的收益,第二次卖出的 收益。
他们的递推公式如下:
// a表示当天的股票价格firstBuy=max(firstBuy, -a); firstSell=max(a+firstBuy,firstSell);secondBuy=max(secondBuy,firstSell-a);secondSell=max(secondBuy+a,secondSell);
例如: prices={2,1,2,0,1}
最大收益为2.
- 代码如下:
class Solution {public: int maxProfit(vector<int>& prices) { int firstBuy=INT_MIN,secondBuy=INT_MIN,firstSell=0,secondSell=0; for(auto &a:prices){ firstBuy=max(firstBuy, -a); firstSell=max(a+firstBuy,firstSell); secondBuy=max(secondBuy,firstSell-a); secondSell=max(secondBuy+a,secondSell); } return max(secondSell,firstSell); }};
阅读全文
0 0
- LeetCode 123: Best Time to Buy and Sell Stock III
- LeetCode: Best Time to Buy and Sell Stock III [123]
- LeetCode 123 Best Time to Buy and Sell Stock III
- [leetcode 123] Best Time to Buy and Sell Stock III
- leetcode || 123、Best Time to Buy and Sell Stock III
- leetcode-123 Best Time to Buy and Sell Stock III
- leetcode 123: Best Time to Buy and Sell Stock III
- 123 Best Time to Buy and Sell Stock III [Leetcode]
- Best Time to Buy and Sell Stock III - LeetCode 123
- LeetCode 123: Best Time to Buy and Sell Stock III
- LeetCode 123 Best Time to Buy and Sell Stock III
- LeetCode 123 -- Best Time to Buy and Sell Stock III
- Leetcode 123 Best Time to Buy and Sell Stock III
- LeetCode 123 Best Time to Buy and Sell Stock III
- Leetcode Best Time to Buy and Sell Stock III 123
- [Leetcode 123] Best Time to Buy and Sell Stock III
- **Leetcode 123 Best Time to Buy and Sell Stock III
- LeetCode Best Time to Buy and Sell Stock III
- C语言内存管理:malloc、calloc、free的实现
- Java判断回文字符串
- 挑客 客服语录
- HTML常用标记、CSS三种选择器
- opencv导入txt数据,画两幅图像的匹配点(像素精度)
- [Leetcode 123] Best Time to Buy and Sell Stock III
- React Native -- ListView的基本用法
- 解决IE8兼容性视图问题
- 业绩归因 绩效评估
- 登陆密码加密与验证
- 初识RxJava
- 普通打印机,双面打印技巧
- MySQL 处理重复数据
- Java中字符串及正则表达式简介