王廷瑋|數位醫療|智慧醫療: 122. Best Time to Buy and Sell Stock II WFU

2024年7月6日 星期六

122. Best Time to Buy and Sell Stock II

122. Best Time to Buy and Sell Stock II


給定一個整數數組 prices,其中 prices[i] 是第 i 天的股票價格。

在每一天,你可以決定購買和/或出售股票。你在任何時候只能持有最多一股股票。然而,你可以在同一天買入並立即賣出它。

找到並返回你能達到的最大利潤。

範例:

輸入:prices = [7,1,5,3,6,4] 輸出:7 解釋:在第 2 天(價格 = 1)買入並在第 3 天(價格 = 5)賣出,利潤 = 5 - 1 = 4。 然後在第 4 天(價格 = 3)買入並在第 5 天(價格 = 6)賣出,利潤 = 6 - 3 = 3。 總利潤是 4 + 3 = 7。


Python


from typing import List

class Solution:
def maxProfit(self, prices: List[int]) -> int:
max_profit = 0
for i in range(1, len(prices)):
if prices[i] > prices[i - 1]:
max_profit += prices[i] - prices[i - 1]
return max_profit

17.91MB, 51ms


C++


#include <vector>
using namespace std;

class Solution {
public:
int maxProfit(vector<int>& prices) {
int max_profit = 0;

for (int i = 1; i < prices.size(); ++i) {
if (prices[i] > prices[i - 1]) {
max_profit += prices[i] - prices[i - 1];
}
}

return max_profit;
}
};

15.4MB, 0ms


Javascript


/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function(prices) {
let maxProfit = 0;

for (let i = 1; i < prices.length; i++) {
if (prices[i] > prices[i - 1]) {
maxProfit += prices[i] - prices[i - 1];
}
}

return maxProfit;
};

48.95MB, 59ms