# Best Time to Buy and Sell Stock II LeetCode Solution

Here, We see Best Time to Buy and Sell Stock II Leetcode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc., with different approaches.

## Problem Statement ->

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 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.

Example 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.```
```Example 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.```

## Best Time to Buy and Sell Stock II Leetcode Solution C++ ->

``````class Solution {
public:
int maxProfit(vector<int>& prices) {
while(i < prices.size()-1){
while(i < prices.size()-1 && prices[i+1] <= prices[i]){
i++;
}
while(i < prices.size()-1 && prices[i+1] > prices[i]){
i++;
}
sell = prices[i];
}
return profit;
}
};
```Code language: C++ (cpp)```

## Best Time to Buy and Sell Stock II Leetcode Solution Java ->

``````class Solution {
public int maxProfit(int[] prices) {
int maxprofit = 0;
for (int i = 1; i < prices.length; i++) {
if (prices[i] > prices[i - 1])
maxprofit += prices[i] - prices[i - 1];
}
return maxprofit;
}
}
```Code language: Java (java)```

## Best Time to Buy and Sell Stock II Leetcode Solution JavaScript ->

``````var maxProfit = function(prices) {
let profits = ; // base condition

for(let i = 1; i < prices.length; i++) {
profits[i] = profits[i - 1] + Math.max(0, prices[i] - prices[i - 1])
}

return profits.pop()
};
```Code language: JavaScript (javascript)```

## Best Time to Buy and Sell Stock II Leetcode Solution Python ->

``````class Solution:
def maxProfit(self, prices: List[int]) -> int:
profit = 0
for i in range(1, len(prices)):
if prices[i] > prices[i - 1]:
profit += prices[i] - prices[i - 1]
return profit
```Code language: Python (python)```

#### Divide Two Integers LeetCode Solution

Given two integers dividend and divisor, divide two integers without using multiplication, division, and mod…

#### Combination Sum LeetCode Solution

Given an array of distinct integers candidates and a target integer target, return a list…

#### Longest Valid Parentheses LeetCode Solution

Given a string containing just the characters ‘(‘ and ‘)’, return the length of the…