给定一个数组,第i个元素是第i天的股票的价格,如果只允许进行一次交易(即只允许买卖一个股票),设计算法求出最大利润。
Example 1:
Input: [7, 1, 5, 3, 6, 4] Output: 5 max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
Example 2:
Input: [7, 6, 4, 3, 1] Output: 0 In this case, no transaction is done, i.e. max profit = 0.
public int maxProfit(int[] prices) {
if(prices.length==0)
return 0;
int min=prices[0];
int profit=0;
for(int i=1;i<prices.length;i++)
{
min=Math.min(min,prices[i]);
profit=Math.max(profit,prices[i]-min);
}
return profit;
}
}