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

Popular posts from this blog

28. Find the Index of the First Occurence in a String - Easy

121. Best Time to Buy and Sell Stock - Easy

58. Length of Last Word - Easy