### What is Heap Data Structure

Its a tree based data structure which is a complete binary tree(all nodes have…

July 06, 2021

You are given an array prices where prices[i] is the price of a given stock on the ith day.

You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock.

Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0.

```
Example 1:
Input: prices = [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.
Note that buying on day 2 and selling on day 1 is not allowed because you must buy before you sell.
Example 2:
Input: prices = [7,6,4,3,1]
Output: 0
Explanation: In this case, no transactions are done and the max profit = 0.
```

```
public int maxProfit(int[] prices) {
int l=prices.length;
int maxProfit = 0;
for(int i=0; i<l-1; i++) {
for(int j=i+1; j<l; j++) {
int diff = prices[j] - prices[i];
if (diff > maxProfit) {
maxProfit = diff;
}
}
}
return maxProfit;
}
```

WWe can keep a track of minimum price as we iterate. And, calculate the profit till now. And we can also keep track of maximum profit so far.

The code is pretty simple.

```
public int maxProfit(int[] prices) {
int l=prices.length;
int maxProfit = 0;
int minPrice = prices[0];
for(int i=1; i<l; i++) {
maxProfit = Math.max(maxProfit, prices[i]-minPrice);
minPrice = Math.min(minPrice, prices[i]);
}
return maxProfit;
}
```

Its a tree based data structure which is a complete binary tree(all nodes have…

This algorithm is very useful for large input. And, is quite efficient one. It…

Min Priority Queue is a data structure which manage a list of keys(values). And…

This topic is one of the most common studied. When somebody started preparation…

Problem Statement Given n non-negative integers a1, a2, …, an , where each…

** Inversion There is an array(a) and two indexes i and j. Inversion is the…

Introduction So you have a Django project, and want to run it using docker image…

Introduction It is very important to introduce few process so that your code and…

Introduction In this post, we will see a sample Jenkin Pipeline Groovy script…

Introduction We often require to execute in timed manner, i.e. to specify a max…

Introduction In some of the cases, we need to specify namespace name along with…

Introduction In most of cases, you are not pulling images from docker hub public…