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

पायथन में अधिकतम इरेज़र वैल्यू खोजने का कार्यक्रम

मान लीजिए कि हमारे पास nums नामक एक सरणी है (केवल सकारात्मक मानों के साथ) और हम अद्वितीय तत्वों वाले एक सबएरे को मिटाना चाहते हैं। हमें वह स्कोर मिलेगा जो सबएरे तत्वों का योग है। हमें ठीक एक उप-सरणी को मिटाकर अधिकतम अंक प्राप्त करना होगा।

इसलिए, यदि इनपुट nums =[6,3,2,3,6,3,2,3,6] की तरह है, तो आउटपुट 11 होगा, क्योंकि यहां इष्टतम सबरे या तो [6,3,2] है या [2,3,6], तो योग 11 है।

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

  • देखा:=एक नया नक्शा
  • उत्तर:=योग:=0
  • एल :=0
  • प्रत्येक अनुक्रमणिका r और मान x अंक के लिए, करें
    • यदि x दिखाई दे, तो
      • सूचकांक:=देखा गया[x]
      • जबकि l <=अनुक्रमणिका, करते हैं
        • देखा हटा दें[nums[l]]
        • योग :=योग - अंक[l]
        • एल :=एल + 1
    • देखा[x] :=r
    • योग :=योग + x
    • उत्तर:=अधिकतम उत्तर और योग
  • वापसी उत्तर

उदाहरण

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

def solve(nums):
   seen = dict()
   ans = sum = 0
   l = 0
   for r, x in enumerate(nums):
      if x in seen:
         index = seen[x]
         while l <= index:
            del seen[nums[l]]
            sum -= nums[l]
            l += 1

      seen[x] = r
      sum += x
      ans = max(ans, sum)
   return ans

nums = [6,3,2,3,6,3,2,3,6]
print(solve(nums))

इनपुट

[6,3,2,3,6,3,2,3,6]

आउटपुट

11

  1. पायथन में 2 की शक्ति के मूल्य का पता लगाने का कार्यक्रम

    मान लीजिए हमें दो पूर्णांक संख्याएँ p और q दी गई हैं। हमें 22^p mod q का मान ज्ञात करना है। आउटपुट एक पूर्णांक होना चाहिए। इसलिए, यदि इनपुट p =5, q =6 जैसा है, तो आउटपुट 4 . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - res :=2^(2^p) mod q रिटर्न रेस उदाहरण आइए बेहतर समझ पाने के लिए निम

  1. पायथन में समान लंबाई के k रिबन की अधिकतम लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास सकारात्मक संख्याओं की एक सूची है, जो रिबन की लंबाई का प्रतिनिधित्व करती है और एक मान k भी है। हम जितनी बार चाहें रिबन काट सकते हैं, हमें सबसे बड़ी लंबाई r ढूंढनी होगी जैसे कि हमारे पास लंबाई r के k रिबन हो सकें। अगर हमें ऐसा समाधान नहीं मिल रहा है, तो -1 पर लौटें। इसलिए, यदि

  1. पायथन में अधिकतम भवन ऊंचाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक मान n है और जोड़े की एक और सूची है जिसे प्रतिबंध कहा जाता है। हम एक शहर में नई इमारतें बनाना चाहते हैं। लेकिन कुछ प्रतिबंध हैं। हम एक लाइन में बना सकते हैं और इमारतों को 1 से n तक लेबल किया जाता है। प्रतिबंधों के दो पैरामीटर हैं, इसलिए प्रतिबंध [i] =(id_i, max_height_i) इंग