কম্পিউটার

পাইথনে একবার স্টক মার্কেটে কেনার মাধ্যমে আমরা সর্বাধিক লাভ পেতে পারি তা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে কালানুক্রমিক ক্রমানুসারে একটি কোম্পানির স্টক মূল্যের প্রতিনিধিত্বকারী দামের একটি তালিকা আছে, আমাদের শুধুমাত্র একবার সেই স্টক ক্রয় এবং বিক্রয় থেকে আমরা সর্বোচ্চ লাভ করতে পারতাম তা খুঁজে বের করতে হবে। আমাদের মনে রাখতে হবে যে বিক্রি করার আগে আমাদের অবশ্যই কিনতে হবে।

সুতরাং, ইনপুট যদি দামের মত হয় =[10, 12, 9, 6, 8, 12], তাহলে আউটপুট হবে 6, যেমন আমরা 6-এ কিনতে পারি এবং 12-এ বিক্রি করতে পারি।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • সর্বোচ্চ_লাভ :=0
  • মিন_স্টক :=ইনফিনিটি
  • প্রতিটি মূল্যের জন্য, করুন
    • সর্বোচ্চ_লাভ :=সর্বাধিক_লাভ এবং (মূল্য - মিন_স্টক)
    • মিন_স্টক :=ন্যূনতম_স্টক এবং মূল্য
  • সর্বোচ্চ_লাভ ফেরত

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, prices):
      max_profit = 0
      min_stock = float('inf')
      for price in prices:
         max_profit = max(max_profit, price - min_stock)
         min_stock = min(min_stock, price)
      return max_profit
ob = Solution()
print(ob.solve([10, 12, 9, 6, 8, 12]))

ইনপুট

[10, 12, 9, 6, 8, 12]

আউটপুট

6

  1. পাইথনে সার্কুলার সাবলিস্টের সর্বাধিক যোগফল খুঁজে বের করার প্রোগ্রাম

  2. পাইথনের ক্ষমতার মধ্যে বিভিন্ন আইটেম গ্রহণ করে আমরা সর্বাধিক পরিমাণ খুঁজে পেতে প্রোগ্রামটি পেতে পারি

  3. পাইথনে একাধিকবার স্টক মার্কেটে কেনার মাধ্যমে আমরা সর্বাধিক লাভ পেতে পারি তা খুঁজে বের করার প্রোগ্রাম

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