5.Best Time to Buy and Sell Stock
Problem 1: (SingleTransactions)
Example 1:
Input: [7,1,5,3,6,4]
Output: 5
Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5.
Not 7-1 = 6, as selling price needs to be larger than buying price.
Example 2:
Input: [7,6,4,3,1]
Output: 0
Explanation: In this case, no transaction is done, i.e. max profit = 0.Solution I
class Solution
{
public:
int maxProfit(vector<int> &arr)
{
int maxDiff = INT_MIN;
for (int i = 0; i < arr.size(); i++)
{
for (int j = i + 1; j < arr.size(); j++)
{
if (arr[j] - arr[i] > maxDiff)
{
maxDiff = arr[j] - arr[i];
}
}
}
if(maxDiff<=0){
return 0;
}
return maxDiff;
}
};Solution II
Problem 2: (Multiple Transactions)
Solution :
Last updated