代码拉取完成,页面将自动刷新
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;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。