informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Anda diberi array integer prices
Di manaprices[i]
adalah harga saham tertentu padai^th
hari.
Setiap hari, Anda dapat memutuskan untuk membeli dan/atau menjual saham. Anda hanya dapat menahan paling banyak satu saham kapan saja. Namun, Anda dapat membelinya lalu segera menjualnya dihari yang sama.
Temukan dan kembalikan itu maksimum keuntungan yang bisa anda raih.
Contoh 1:
**Input:** prices = [7,1,5,3,6,4]
**Output:** 7
**Explanation:** Buy on day 2 (price = 1) and sell on day 3 (price = 5), profit = 5-1 = 4.
Then buy on day 4 (price = 3) and sell on day 5 (price = 6), profit = 6-3 = 3.
Total profit is 4 + 3 = 7.
Contoh 2:
**Input:** prices = [1,2,3,4,5]
**Output:** 4
**Explanation:** Buy on day 1 (price = 1) and sell on day 5 (price = 5), profit = 5-1 = 4.
Total profit is 4.
Contoh 3:
**Input:** prices = [7,6,4,3,1]
**Output:** 0
**Explanation:** There is no way to make a positive profit, so we never buy the stock to achieve the maximum profit of 0.
Kendala:
1 <= prices.length <= 3 * 10^4
0 <= prices[i] <= 10^4
* DSF
* DP
* Greedy
/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function(prices) {
let res = 0;
for(let i = 1; i < prices.length; i++){
if(prices[i-1] < prices[i]){ // 将每天的收益看作自己的收益
res += prices[i] - prices[i-1]
}
}
return res;
};