কম্পিউটার টিউটোরিয়াল

পাইথনে স্টক মার্কেটে একাধিকবার কেনা-বেচা করে সর্বাধিক লাভ বের করার প্রোগ্রাম


मान लीजिए हमारे पास कीमतों की एक सूची है जो कालानुक्रमिक क्रम में एक कंपनी के स्टॉक की कीमतों को दर्शाती है, हमें उस स्टॉक को कितनी भी बार खरीदकर और बेचकर हम अधिकतम लाभ कमा सकते थे, वह ढूंढना है। हमें इस बात का ध्यान रखना होगा कि हम बेचने से पहले खरीदें।

उदाहरण के लिए, यदि इनपुट है prices = [10, 50, 30, 40, 60], तो आउटपुट होगा 70, क्योंकि हम 10 पर खरीद सकते हैं, 50 पर बेच सकते हैं, 30 पर खरीद सकते हैं, और 60 पर बेच सकते हैं।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • prev_price := अनंत
  • profit := 0
  • prices में प्रत्येक p के लिए, करें
    • यदि p > prev_price, तो
      • profit := profit + p - prev_price
    • prev_price := p
  • profit वापस करें

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

उदाहरण

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]))

इनपुट

[10, 50, 30, 40, 60]

आउटपुट

70

  1. পাইথনে সিঁড়ির ধাপ চড়ার উপায় গণনা করার প্রোগ্রাম (সর্বোচ্চ k বার 3 ধাপ)

  2. পাইথনে ওজন ও মান দিয়ে ন্যাপস্যাক সমস্যা সমাধানের প্রোগ্রাম

  3. পাইথনে স্টক মার্কেটে একবার কেনা-বেচা করে সর্বাধিক লাভ বের করার প্রোগ্রাম

  4. পাইথনে তিনটি সংখ্যার মধ্যে সর্বোচ্চ মান বের করা