122. Best Time to Buy and Sell Stock 2 - Medium
You are given an integer array prices where prices[i] is the price of a given stock on the ith day.
On each day, you may decide to buy and/or sell the stock. You can only hold at most one share of the stock at any time. However, you can buy it then immediately sell it on the same day.
Find and return the maximum profit you can achieve.
Example:
Input: prices = [7,1,5,3,6,4]
Output: 7
Explanation: Buy on day 2 (prices = 1) and sell on day 3 (prices = 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.
Constraints:
1 <= prices.length <= 3 * 10**4
0 <= prices[i] <= 10**4
Solution:
var maxProfit = function(prices) {
let profit = 0;
for (let i = 1; i < prices.length; i++) {
if (prices[i] > prices[i-1]) {
profit += prices[i] - prices[i-1];
}
return profit;
}
Thoughts:
Couldn't solve this problem either. I watched a solution video, and it was clear how to do it afterwards, but I would never have come up with it. It's straightforward when you add the current value minus the previous value. I definitely need to work on algebra-type questions cause I struggle with them. I couldn't solve the easier version of this problem, but I found this one easier to comprehend. I would give myself a confidence rating of 4/10. Need improvement.
Comments
Post a Comment