leetcode No123. Best Time to Buy and Sell Stock III
来源:互联网 发布:ios降级会丢失数据吗 编辑:程序博客网 时间:2024/05/18 02:46
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).
数组中的元素表示当天股票价格,只允许两次交易(买入卖出),且不能在同一时间交易两次,求最大利润。
Algorithm:
prices[i]的最大利润res是,数组i之前的最大利润和i之后的最大利润之和。从前往后遍历一次,记录i之前的最大利润。从后往前遍历一次,记录i之后的最大利润。并更新两次最大利润之和的最大值。
Accepted Code:
class Solution { //只允许两次交易,从前遍历一次,从后遍历一次,刚好是i位置前后的maxpricepublic: int maxProfit(vector<int>& prices) { if(prices.size()<2)return 0; int N=prices.size(); int min=prices[0]; int max1=0; vector<int> res(N,0); for(int i=1;i<N-1;i++) //从前往后遍历 { if((prices[i]-min)>max1) max1=prices[i]-min; if(prices[i]<min) min=prices[i]; res[i]=max1; } int max2=0; int temp=prices[N-1]; //最大值 int finalmax=0; for(int j=N-2;j>=0;j--) //从后往前遍历 { if((temp-prices[j])>max2) max2=temp-prices[j]; if(prices[j]>temp) temp=prices[j]; if((res[j]+max2)>finalmax) finalmax=res[j]+max2; } return finalmax; }};
0 0
- leetcode No123. 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] 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
- [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
- 【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]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]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
- Swift中的required修饰符
- android 内存管理
- Xlistview
- [PAT] B1009
- LSTM的理解
- leetcode No123. Best Time to Buy and Sell Stock III
- android 屏幕适配
- Appium使用实践
- Android开发各类常见错误解决方案
- 剑指Offer_47_求1+2+3+...+n
- Retrofit Gson解析空字符串的问题
- 使用 Socket 通信实现 FTP 客户端程序
- 请求网络数据返回json串
- Xml解析