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

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


मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी A है, हमें सरणी को निम्नलिखित तरीके से संशोधित करना होगा -

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

तो, अगर एरे ए =[4,2,3], और के =1, तो आउटपुट 5 होगा। तो इंडेक्स 1 चुनें, एरे [4,-2,3]

बन जाएगा।

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

  • सरणी A को क्रमित करें

  • मैं के लिए 0 से लेकर ए - 1 की लंबाई तक के लिए

    • अगर A[i] <0, तो A[i] :=- A[i], और k को 1 से घटाएं

    • अगर k =0, तो लूप से ब्रेक करें

  • अगर k सम है, तो

    • सपा:=ए[0]

    • i के लिए :=1 से A की लंबाई - 1

      • अगर A[i]> 0, तो sp :=न्यूनतम sp और A[i]

    • A – (2*sp) के तत्वों का रिटर्न योग

  • अन्यथा, A के तत्वों का योग लौटाएं

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

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

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. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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

  1. संचय समारोह का उपयोग करके अजगर में उपसर्ग योग सरणी

    एक सरणी को देखते हुए और हमें फ़ंक्शन का उपयोग करके उपसर्ग योग सरणी करना है। इसलिए उन्हें केवल उन फ़ंक्शंस या लूप्स द्वारा एक्सेस किया जाना चाहिए जो स्ट्रीम को छोटा करते हैं। एक पुनरावर्तक बनाएं जो संचित रकम लौटाए। तत्व दशमलव या अंश सहित कोई भी जोड़ने योग्य प्रकार हो सकते हैं। यदि वैकल्पिक फ़ंक्शन तर