1 Star 0 Fork 0

agony/LeetCode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
123.BestTimetoBuyandSellStockIII.cs 1.12 KB
一键复制 编辑 原始数据 按行查看 历史
Kai Yang 提交于 2015-07-05 21:13 . 123. Best Time to Buy and Sell Stock III
using System;
public class Solution {
public int MaxProfit(int[] prices) {
int[] leftProfit = new int[prices.Length];
int[] rightProfit = new int[prices.Length];
// iterate from left to right
var minPrice = int.MaxValue;
var leftMaxProfit = 0;
for (var i = 0; i < prices.Length; ++i)
{
minPrice = Math.Min(minPrice, prices[i]);
leftMaxProfit = Math.Max(leftMaxProfit, prices[i] - minPrice);
leftProfit[i] = leftMaxProfit;
}
// iterate from right to left
var maxPrice = int.MinValue;
var rightMaxProfit = 0;
for (var i = prices.Length - 1; i >= 0; --i)
{
maxPrice = Math.Max(maxPrice, prices[i]);
rightMaxProfit = Math.Max(rightMaxProfit, maxPrice - prices[i]);
rightProfit[i] = rightMaxProfit;
}
// merge two profits
var maxProfit = 0;
for (var i = 0; i < prices.Length; ++i)
{
maxProfit = Math.Max(maxProfit, leftProfit[i] + rightProfit[i]);
}
return maxProfit;
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/agony2020/LeetCode.git
git@gitee.com:agony2020/LeetCode.git
agony2020
LeetCode
LeetCode
master

搜索帮助