# Krishna Vulchi's Blog # Best Time To Buy And Sell Stocks

Problem Statement: Given an array of prices of stocks on different days, Need to find which days are the best for buying and selling the stocks.

``````funciton bestTimeToSellAndBuyCost(arr){}

const arr = [7,1,5,3,6,4]
``````

This problem can be solved by looping

• the array by taking two variables one is `min`(To find out the min element) which is initially assigned to the first element(`arr`) of the array and the second variable will be `profit` which is initially assigned to `0`

• Initialize `cost` variable and assign `min - arr[i]`

• Take the max value from `profit` and `cost` and assign it to `profit`

• Compare `min` and `arr[i]`and assign min value to `min`

``````function bestTimeToSellAndBuyCost(arr) {
let min = arr;
let profit = 0;

for (let i = 1; i < arr.length; i++) {
const cost = arr[i] - min;
profit = Math.max(profit, cost);
min = Math.min(arr[i], min);
}

return profit;
}
``````

Thank you and have a great day :)