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

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


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

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

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

  • seen := एक नया मैप
  • ans := sum := 0
  • l := 0
  • nums में प्रत्येक सूचकांक r और मान x के लिए, करें
    • यदि x seen में मौजूद है, तो
      • index := seen[x]
      • जब तक l <= index, करें
        • seen[nums[l]] हटाएं
        • sum := sum - nums[l]
        • l := l + 1
    • seen[x] := r
    • sum := sum + x
    • ans := ans और sum का अधिकतम
  • ans वापस करें

उदाहरण

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

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 दिए गए हैं। हमें 2^(2^p) mod q का मान ढूंढना है। आउटपुट एक इंटीजर होना चाहिए। इसलिए, यदि इनपुट p = 5, q = 6 है, तो आउटपुट 4 होगा। समाधान दृष्टिकोण पायथन के अंतर्निर्मित pow() फंक्शन का उपयोग तीन आर्गुमेंट के साथ करें: pow(base, exp, mod) यह मॉड्यूलर एक्सपोनेंश

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

    सकारात्मक संख्याओं की सूची दी गई है जो रिबन की लंबाई दर्शाती है, और एक मान k। हम रिबन को जितनी बार चाहें काट सकते हैं, हमें सबसे बड़ी लंबाई r खोजनी है जिससे हम k रिबन लंबाई r के प्राप्त कर सकें। यदि ऐसा समाधान नहीं मिलता, तो -1 लौटाएं। उदाहरण इनपुट: ribbons = [1, 2, 5, 7, 15], k = 5 आउटपुट: 5 व्याख

  1. Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें

    n इमारतें एक पंक्ति में (1 से n लेबल)। प्रतिबंध: restrictions[i] = (id, max_height)। नियम: ऊंचाई ≥ 0, पहली इमारत की ऊंचाई = 0, आसन्न इमारतों में ऊंचाई अंतर ≤ 1। अधिकतम संभव ऊंचाई खोजें। एल्गोरिदम: दो पास + शिखर गणना प्रतिबंधों को id द्वारा सॉर्ट करें फॉरवर्ड पास: बाएं से दाएं, प्रत्येक प्रतिबंध को