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

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

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

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

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

  • एस:=0

  • बी:=-इन्फिनिटी

  • मेरे लिए 0 से लेकर कीमतों के आकार के बीच, करें

    • अस्थायी:=ख

    • b :=अधिकतम b और (s - मूल्य[i])

    • अगर मैं शून्य नहीं हूं, तो

      • s :=अधिकतम s और (अस्थायी + कीमतें[i - 1])

  • अधिकतम s और (b + कीमतों का अंतिम तत्व) लौटाएं

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

उदाहरण

class Solution:
   def solve(self, prices):
      s = 0
      b = float("-inf")
      for i in range(len(prices)):
         temp = b
         b = max(b, s - prices[i])
         if i:
            s = max(s, temp + prices[i - 1])
      return max(s, b + prices[-1])

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

इनपुट

[2, 6, 9, 4, 11]

आउटपुट

11

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

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

  1. स्ट्रिंग की संख्या खोजने के लिए प्रोग्राम जहां हम 'ए' 'ए' या 'बी' हो सकते हैं, और 'बी' पाइथन में 'बी' रहता है

    मान लीजिए कि हमारे पास केवल ए और बी के साथ एक स्ट्रिंग है। ए एस ए रह सकता है या बी में बदल सकता है, लेकिन बी को बदला नहीं जा सकता है। हमें अद्वितीय स्ट्रिंग्स की संख्या ज्ञात करनी होगी जो हम बना सकते हैं। इसलिए, यदि इनपुट s =baab जैसा है, तो आउटपुट 4 होगा, क्योंकि हम इन स्ट्रिंग्स को बना सकते हैं -

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

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