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

पायथन में होल्ड और सेल करके अधिकतम लाभ खोजने का प्रोग्राम

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

इसलिए, यदि इनपुट है nums = [3, 4, 7, 3, 5], तो आउटपुट होगा 9, क्योंकि हम स्टॉक को 3 और 4 पर खरीद सकते हैं और उन्हें 7 पर बेच सकते हैं। फिर फिर से 3 पर खरीदें और 5 पर बेचें। कुल लाभ (7 - 3) + (7 - 4) + (5 - 3) = 9।

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

  • ans := 0
  • जब nums खाली नहीं है, करें:
    • top := nums से अंतिम तत्व हटाएं
    • जब nums खाली नहीं है और top > nums का अंतिम तत्व, करें:
      • ans := ans + (top - nums से अंतिम तत्व)
      • nums से अंतिम तत्व हटाएं
  • ans लौटाएं

उदाहरण

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

def solve(nums):
    ans = 0
    while nums:
        top = nums.pop()
        while nums and top > nums[-1]:
            ans += top - nums.pop()
    return ans
nums = [3, 4, 7, 3, 5]
print(solve(nums))

इनपुट

[3, 4, 7, 3, 5]

आउटपुट

9
  1. - पायथन में सन्निकट सबएरे के अधिकतम गुणनफल को खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक एक सरणी है, हमें एक सन्निकट सबएरे के तत्वों का गुणनफल ढूंढना है जिसमें सबसे बड़ा गुणनफल हो (कम से कम एक संख्या हो)। इसलिए यदि सरणी [1,9,2,0,2,5] है, तो आउटपुट 18 होगा, क्योंकि सन्निकट सबएरे [1,9,2] का अधिकतम गुणनफल है।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे &minu

  1. - पायथन में स्टॉक मार्केट में एक बार खरीद-बिक्री करके प्राप्त अधिकतम लाभ खोजने का प्रोग्राम

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

  1. - पायथन में उन स्ट्रिंग्स की संख्या खोजें जहां 'a' 'a' या 'b' हो सकता है, और 'b' 'b' ही रहता है

    मान लीजिए हमारे पास केवल a और b वाली एक स्ट्रिंग s है। a a रह सकते हैं या b में बदल सकते हैं, लेकिन b को बदला नहीं जा सकता। हमें उन अद्वितीय स्ट्रिंग्स की संख्या ढूंढनी है जो हम बना सकते हैं। उदाहरण के लिए, यदि इनपुट है s = baab, तो आउटपुट होगा 4, क्योंकि हम ये स्ट्रिंग्स बना सकते हैं: [baab, babb,