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

पायथन में सबसे बड़े K सबलिस्ट का योग खोजने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, और एक मान k, जो nums को k बार जोड़कर बनी एक बड़ी सूची को दर्शाता है। हमें सबसे बड़े योग वाले सन्निहित सबलिस्ट का योग ढूंढना है।

उदाहरण के लिए, यदि इनपुट nums = [1, 3, 4, -5] और k = 1 है, तो आउटपुट 11 होगा, क्योंकि हम सबलिस्ट [2, 4, 5] ले सकते हैं। (नोट: उदाहरण में इनपुट/आउटपुट में विसंगति है, कोड देखें)।

समाधान दृष्टिकोण

इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे (कादाने एल्गोरिदम एक्सटेंशन):

  • s := ans := lo := 0
  • min(k, 2) बार दोहराएं:
    • प्रत्येक x के लिए nums में:
      • s += x
      • lo = min(lo, s)
      • ans = max(ans, s - lo)
  • ans + max(0, sum(nums)) * max(0, k-2) लौटाएं

उदाहरण कोड

class Solution:
    def solve(self, nums, k):
        s = ans = lo = 0
        for _ in range(min(k, 2)):
            for x in nums:
                s += x
                lo = min(lo, s)
                ans = max(ans, s - lo)
        return ans + max(0, sum(nums)) * max(0, k-2)

ob = Solution()
nums = [2, 4, 5, -4]
k = 1
print(ob.solve(nums, k))

इनपुट

[2, 4, 5, -4], 1

आउटपुट

11

  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके और तत्व प्राप्त करके सबसे बड़ा तत्व निकालते हैं। हम नीच

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें