моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Вам дан целочисленный массив prices
гдеprices[i]
это цена данной акции наi^th
день.
Каждый день вы можете решить купить и/или продать акции. Вы можете только держать максимум один долю акций в любое время. Однако вы можете купить ее, а затем немедленно продать нав тот же день.
Найти и вернуть the максимум прибыль, которую вы можете получить.
Пример 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.
Пример 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.
Пример 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.
Ограничения:
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;
};