Best time to buy and Sell stock in Python
Best time to buy and Sell stock in Python
On this page, we will learn to create a Program to find Best time to buy and Sell stock in Python programing language.
Example:
- Input: [70, 150, 230, 280, 10, 505, 665]
- Output: We can make a maximum profit of 655
- Explanation: For the given set of stock prices we can make a maximum profit of 655 by buying the stock on day 4 & selling it on day 6
Problem Statement
The cost of a stock on each day is given in an array, find the max profit that you can make by buying and selling in those days.
Rules
- We are allowed to buy and sell only once
- We can not sell before buying the stock
If the given array of prices is sorted in decreasing order, then profit cannot be earned at all.
For example, if the given array is [70, 150, 230, 280, 10, 505, 665], the maximum profit of 655 can be earned by buying on day 4, selling on day 6.
Algorithm
- Initialize a variable to store profit (pro)
- Iterate using a for loop between 0 to one less then length of input array
- Run a nested for loop from range i+1 to length of array
- If arr[j] – arr[i] is greater then pro then change the value of pro to arr[j] – arr[i]
- After the loop ends pro stores the required answer
Python Code
Run
def profit(arr): pro = 0 for i in range(len(arr) - 1): for j in range(i + 1, len(arr)): if arr[j] - arr[i] > pro: pro = arr[j] - arr[i] return pro array = [70, 150, 230, 280, 10, 505, 665] print("We can make maximum profit of", profit(array))
Output
We can make maximum profit of 655
For similar question click on given button.
Login/Signup to comment