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

पायथन में K नेगेशन्स के बाद ऐरे का योग अधिकतम करना


मान लीजिए हमारे पास इंटीजर्स का एक ऐरे A है, हमें निम्नलिखित तरीके से ऐरे को संशोधित करना है:

हम एक i चुन सकते हैं और A[i] को -A[i] से बदल सकते हैं, और हम इस प्रक्रिया को K बार दोहराएंगे। हमें इस तरह बदलने के बाद ऐरे का सबसे बड़ा संभव योग लौटाना है।

इसलिए, यदि ऐरे A = [4,2,3], और K = 1, तो आउटपुट 5 होगा। इसलिए इंडेक्स 1 चुनें, ऐरे [4,-2,3] बन जाएगा।

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

  • ऐरे A को सॉर्ट करें
  • i को 0 से A की लंबाई - 1 तक की रेंज में लिए
    • यदि A[i] < 0, तो A[i] := -A[i], और k को 1 से घटाएं
    • यदि k = 0, तो लूप से ब्रेक करें
  • यदि k सम है, तो
    • sp := A[0]
    • i := 1 से A की लंबाई - 1 तक लिए
      • यदि A[i] > 0, तो sp := sp और A[i] का न्यूनतम
    • ऐरे के एलिमेंट्स का योग - (2*sp) लौटाएं
  • अन्यथा, ऐरे के एलिमेंट्स का योग लौटाएं

उदाहरण (पायथन)

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

class Solution(object):
    def largestSumAfterKNegations(self, A, K):
        A.sort()
        for i in range(len(A)):
            if A[i] < 0:
                A[i] = -A[i]
                K -= 1
            if K == 0:
                break
        if K % 2:
            smallest_positive = A[0]
            for i in range(1, len(A)):
                if A[i] >= 0:
                    smallest_positive = min(smallest_positive, A[i])
            return sum(A) - (2 * smallest_positive)
        else:
            return sum(A)

ob1 = Solution()
print(ob1.largestSumAfterKNegations([3, -1, 0, 2], 3))

इनपुट

[3,-1,0,2] 3

आउटपुट

6

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

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

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

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

  1. - पायथन में accumulate फंक्शन का उपयोग करके प्रीफिक्स सम ऐरे

    एक ऐरे दिया गया है और हमें accumulate फंक्शन का उपयोग करके प्रीफिक्स सम ऐरे करना है। itertools.accumulate(iterable[, func]) मॉड्यूल फंक्शन्स सभी इटरेटर्स का निर्माण और वापसी करते हैं। इसलिए उन्हें केवल उन फंक्शन्स या लूप्स द्वारा एक्सेस किया जाना चाहिए जो स्ट्रीम को ट्रंकेट करते हैं। एक इटरेटर बनाएं