题目链接
题目描述
可以有一次买入和一次卖出,买入必须在前。求最大收益。
解题思路
使用贪心策略,假设第 i 轮进行卖出操作,买入操作价格应该在 i 之前并且价格最低。
class Solution {
public int maxProfit(int[] prices) {
if (prices==null || prices.length==0) return 0;
int sofarMin = prices[0], max = 0;
for (int i=1;i<prices.length;i++) {
if (prices[i] < sofarMin) sofarMin = prices[i];
else max = Math.max(max, prices[i]-sofarMin);
}
return max;
}
}