股票的最大利潤
題目描述
可以有一次買入和一次賣出,買入必須在前。求最大收益。
- 例子:題目描述 [7, 1, 5, 3, 6, 4]
- 最大利潤為 6 - 1 = 5
題目連結: [股票的最大利潤]()
程式碼
/**
* 標題:股票的最大利潤
* 可以有一次買入和一次賣出,買入必須在前。求最大收益。
* 例子:題目描述 [7, 1, 5, 3, 6, 4]
* 最大利潤為 6 - 1 = 5
*/
public class Jz75 {
/**
* 使用貪心策略,假設第 i 輪進行賣出操作,買入操作價格應該在 i 之前並且價格最低。
*/
public int maxProfit(int[] prices) {
if (prices == null || prices.length == 0) {
return 0;
}
int soFarMin = prices[0];
int maxProfit = 0;
for (int i = 1; i < prices.length; i++) {
soFarMin = Math.min(soFarMin, prices[i]);
maxProfit = Math.max(maxProfit, prices[i] - soFarMin);
}
return maxProfit;
}
public static void main(String[] args) {
}
}
【每日寄語】 融四歲,能讓梨;弟於長,宜先知。