Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में अधिकतम दो बार स्टॉक खरीदने और बेचने के बाद अधिकतम लाभ प्राप्त करने का कार्यक्रम

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

इसलिए, यदि इनपुट कीमतों की तरह है =[2, 6, 3, 4, 2, 9], तो आउटपुट 11 होगा, क्योंकि हम कीमत 2 पर खरीद सकते हैं, फिर 6 पर बेच सकते हैं, फिर से 2 पर खरीद सकते हैं और बेच सकते हैं। 9 बजे.

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • पहले_खरीदें:=-इन्फ़, फ़र्स्ट_सेल:=-इन्फ़
  • सेकेंड_बाय:=-इन्फ, सेकेंड_सेल:=-इन्फ
  • कीमतों में प्रत्येक px के लिए, करें
    • first_buy :=अधिकतम first_buy और -px
    • first_sell :=ज्यादा से ज्यादा first_sell और (first_buy + px)
    • second_buy :=अधिकतम दूसरा_खरीदें और (first_sell - px)
    • सेकेंड_सेल:=सेकेंड_सेल की अधिकतम और (सेकंड_बाय + पीएक्स)
  • अधिकतम 0 लौटाएं, पहले_बेचें और दूसरी_बेचें

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

उदाहरण

class Solution:
   def solve(self, prices):
      first_buy = first_sell = float("-inf")
      second_buy = second_sell = float("-inf")
      for px in prices:
         first_buy = max(first_buy, -px)
         first_sell = max(first_sell, first_buy + px)
         second_buy = max(second_buy, first_sell - px)
         second_sell = max(second_sell, second_buy + px)
      return max(0, first_sell, second_sell)

ob = Solution()
prices = [2, 6, 3, 4, 2, 9]
print(ob.solve(prices))

इनपुट

[2, 6, 3, 4, 2, 9]

आउटपुट

11

  1. पायथन में कई बार शेयर बाजार में खरीदारी करके हम अधिकतम लाभ प्राप्त करने का कार्यक्रम प्राप्त कर सकते हैं

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

  1. पायथन में एक बार शेयर बाजार में खरीदारी करके हम अधिकतम लाभ प्राप्त करने का कार्यक्रम प्राप्त कर सकते हैं

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

  1. एक सूची में अधिकतम और न्यूनतम तत्व की स्थिति खोजने के लिए पायथन कार्यक्रम?

    पायथन में अधिकतम, न्यूनतम तत्व और उनकी स्थिति का भी पता लगाना बहुत आसान है। पायथन विभिन्न इनबिल्ट फ़ंक्शन प्रदान करता है। न्यूनतम () का उपयोग किसी सरणी में न्यूनतम मान ज्ञात करने के लिए किया जाता है, अधिकतम () का उपयोग किसी सरणी में अधिकतम मान ज्ञात करने के लिए किया जाता है। अनुक्रमणिका () का उपयोग