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

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

मान लीजिए, हमें पूर्णांक संख्याओं वाली एक सरणी दी गई है। हम एक ऑपरेशन कर सकते हैं जहां हम array[i] के मान को उसके चुकता मान से बदल सकते हैं; या सरणी [i] * सरणी [i]। इस तरह के केवल एक ऑपरेशन की अनुमति है और हमें ऑपरेशन के बाद अधिकतम संभव सबअरे का योग वापस करना होगा। उपसरणी खाली नहीं हो सकती।

इसलिए, अगर इनपुट ऐरे =[4, 1, -2, -1] जैसा है, तो आउटपुट 17 होगा।

यदि हम सरणी [0] में मान को उसके चुकता मान से प्रतिस्थापित करते हैं, तो सरणी [16, 1, -2, -1] बन जाती है। इससे संभव अधिकतम उप-सरणी [16, 1] है, और इसका अधिकतम योग मान 16 + 1 =17 है।

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

  • dp1 :=एक नई सूची जिसमें मान ऋणात्मक अनंत है
  • dp2 :=एक नई सूची जिसमें मान ऋणात्मक अनंत है
  • सरणी में प्रत्येक अंक के लिए, करें
    • dp1 के अंत में अधिकतम ((dp1 + num का अंतिम तत्व), num) डालें
    • dp2 के अंत में अधिकतम ((dp1 + num^2 का दूसरा अंतिम तत्व), num^2, (dp2 + num का अंतिम तत्व)) डालें
  • dp2 का अधिकतम तत्व लौटाएं

उदाहरण

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

def solve(array):
   dp1 = [float('-inf')]
   dp2 = [float('-inf')]
   for num in array:
      dp1.append(max(dp1[-1] + num, num))
      dp2.append(max(dp1[-2] + num**2, num**2, dp2[-1]+num))
   return max(dp2)

print(solve([4, 1, -2, -1]))

इनपुट

[4, 1, -2, -1]

आउटपुट

17

  1. पायथन में दिए गए बाइनरी ट्री में बीएसटी का सबसे बड़ा योग मूल्य खोजने का कार्यक्रम

    मान लीजिए कि हमें एक बाइनरी ट्री प्रदान किया जाता है। हमें यह पता लगाना होगा कि क्या इसके सबट्री में बाइनरी सर्च ट्री (BST) मौजूद हैं और सबसे बड़े BST का योग ज्ञात करें। योग का पता लगाने के लिए, हम उस BST में प्रत्येक नोड के मान जोड़ते हैं। हम योग मान को आउटपुट के रूप में लौटाते हैं। तो, अगर इनपुट

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

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

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