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

Python में कुछ एलिमेंट पॉप करने के बाद सभी स्टैक का अधिकतम योग खोजने का प्रोग्राम


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

तो, यदि इनपुट stacks = [[3, 4, 5, 6], [5, 6, 1, 4, 4], [10, 2, 2, 2]] जैसा है, तो आउटपुट 12 होगा, क्योंकि हम इस तरह ऑपरेशन कर सकते हैं:

  • पहले स्टैक से [6] पॉप करें हमें [3, 4, 5] मिलता है योग 12 है।
  • दूसरे स्टैक से [4, 4] पॉप करें हमें [5, 6, 1] मिलता है योग 12 है।
  • तीसरे स्टैक से [2, 2] पॉप करें हमें [10, 2] मिलता है योग 12 है।

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

  • sums := एक खाली मैप
  • stacks में प्रत्येक stk के लिए, करें
    • s := 0
    • stk में प्रत्येक n के लिए, करें
      • s := s + n
      • sums[s] := sums[s] + 1
  • ans := 0
  • sums के प्रत्येक कुंजी-मान जोड़े (s, f) के लिए, करें
    • यदि f >= स्टैक काउंट और s > ans, तो ans := s
  • ans लौटाएं

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

उदाहरण


from collections import defaultdict

class Solution:
    def solve(self, stacks):
        sums = defaultdict(int)
        for stk in stacks:
            s = 0
            for n in stk:
                s += n
                sums[s] += 1
        ans = 0
        for s, f in sums.items():
            if f >= len(stacks) and s > ans:
                ans = s
        return ans

ob1 = Solution()
stacks = [
    [3, 4, 5, 6],
    [5, 6, 1, 4, 4],
    [10, 2, 2, 2]
]
print(ob1.solve(stacks))

इनपुट

stacks = [ [3, 4, 5, 6], [5, 6, 1, 4, 4], [10, 2, 2, 2] ]

आउटपुट

12
  1. पायथन में सभी संभावित वैध पथों से अधिकतम स्कोर ज्ञात करने का प्रोग्राम पायथन में सभी संभावित वैध पथों से अधिकतम स्कोर ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास दो सरणियाँ nums1 और nums2 हैं। एक वैध पथ को इस प्रकार परिभाषित किया गया है: nums1 या nums2 को पार करने के लिए चुनें (सूचकांक-0 से)। सरणी को बाएं से दाएं पार करें। अब, यदि हम किसी ऐसे मान से गुजर रहे हैं जो nums1 और nums2 दोनों में मौजूद है, तो हम दूसरे सरणी पर पथ बदल सकते हैं।

  1. Python में ट्री के सभी एलिमेंट का योग खोजने का प्रोग्राम Python में ट्री के सभी एलिमेंट का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास कुछ मानों वाला एक बाइनरी ट्री है, हमें ट्री में सभी मानों का योग ढूंढना है। तो, यदि इनपुट इस तरह है तो आउटपुट 14 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: recurse() फ़ंक्शन परिभाषित करें। यह node लेगा val := node का मान यदि node का बाएं null नहीं है, तो val := va

  1. - पायथन में स्टैक्स की सूची से पॉप किए गए K तत्वों का अधिकतम योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास स्टैक्स की एक सूची और एक पूर्णांक k है। हमें किसी भी संयोजन से स्टैक्स से ठीक k तत्व पॉप करके प्राप्त होने वाले अधिकतम संभव योग को ढूंढना है। उदाहरण के लिए, यदि इनपुट stacks = [[50, -4, -15],[2],[6, 7, 8]], k = 4 है, तो आउटपुट 39 होगा, क्योंकि हम पहले स्टैक से सभी 3 तत्व और अंतिम