- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Program to find the maximum profit we can get by buying on stock market multiple times in Python
Suppose we have a list of prices representing the stock prices of a company in chronological sequence, we have to find the maximum profit we could have made from buying and selling that stock any number of times. We have to keep in mind that we must buy before we can sell it.
So, if the input is like prices = [10, 50, 30, 40, 60], then the output will be 70, as We can buy at 10, sell at 50, buy at 30, and sell at 60.
To solve this, we will follow these steps −
- prev_price := infinity
- profit := 0
- for each p in prices, do
- if p > prev_price, then
- profit := profit + p - prev_price
- prev_price := p
- if p > prev_price, then
- return profit
Let us see the following implementation to get better understanding −
Example
class Solution: def solve(self, prices): prev_price = float("inf") profit = 0 for p in prices: if p > prev_price: profit += p - prev_price prev_price = p return profit ob = Solution() print(ob.solve([10, 50, 30, 40, 60]))
Input
[10, 50, 30, 40, 60]
Output
70
Advertisements