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

Python से टारगेट सम वाले नॉन-ओवरलैपिंग सबअर्रे की मैक्सिमम संख्या कैसे ढूंढें?

प्रीफिक्स सम और सेट का उपयोग करके टारगेट सम वाले नॉन-ओवरलैपिंग सबअर्रे की मैक्सिमम संख्या ढूंढें (ग्रीडी)।

एल्गोरिदम

  • t सेट में प्रीफिक्स सम स्टोर करें (शुरू में {0})।
  • temp = करंट प्रीफिक्स सम।
  • प्रत्येक एलिमेंट के लिए: temp += i, prev = temp - target।
  • अगर prev in t: सबअर्रे मिला, ans++, t = {temp} रीसेट करें (नॉन-ओवरलैपिंग)।
  • अन्यथा t.add(temp)।

उदाहरण कोड


def solve(nums, target):
    t = set([0])
    temp = 0
    ans = 0
    for i in nums:
        temp += i
        prev = temp - target
        if prev in t:
            ans += 1
            t = set([temp])
        else:
            t.add(temp)
    return ans

# टेस्ट: nums=[3,2,4,5,2,1,5], target=6 -> सबअर्रे [2,4] और [1,5] -> आउटपुट: 2

इनपुट/आउटपुट

इनपुट: nums=[3,2,4,5,2,1,5], target=6
आउटपुट: 2

  1. Python से सबट्री में समान लेबल वाले नोड्स की संख्या कैसे ढूंढें? Python से सबट्री में समान लेबल वाले नोड्स की संख्या कैसे ढूंढें?

    रूटेड ट्री में प्रत्येक नोड के लिए, उसके सबट्री में उसी लेबल वाले नोड्स की संख्या ढूंढें (लेबल्स लोअरकेस लेटर्स)। एल्गोरिदम एज लिस्ट से ग्राफ बनाएं (अनडायरेक्टेड)। लेबल मैप बनाएं। रिकर्सिव DFS r(ni): चिल्ड्रन के काउंटर्स मर्ज करें, अपना लेबल जोड़ें, R[ni] = count[label]। पैरेंट लिंक हटाकर साइकिल अव

  1. पायथन का उपयोग करके अधिकतम संभावना वाले पथ को खोजने का प्रोग्राम पायथन का उपयोग करके अधिकतम संभावना वाले पथ को खोजने का प्रोग्राम

    मान लीजिए हमारे पास n नोड्स वाला एक अनिर्देशित भारित ग्राफ है (नोड्स 0 से क्रमांकित हैं)। यह ग्राफ एज लिस्ट के रूप में दिया गया है, प्रत्येक एज e के लिए, उस एज को पार करने की सफलता की संभावना probability[e] है। हमारे पास प्रारंभ और अंत नोड्स भी हैं, हमें प्रारंभ से अंत तक जाने के लिए अधिकतम सफलता स

  1. - पायथन प्रोग्राम: मैप फंक्शन का उपयोग करके अधिकतम 1's वाली पंक्ति खोजना

    2D ऐरे दिया गया है और ऐरे के एलिमेंट्स 0 और 1 हैं। सभी पंक्तियाँ सॉर्टेड हैं। हमें अधिकतम संख्या में 1s वाली पंक्ति खोजनी है। यहां हम map() का उपयोग करते हैं। मैप फंक्शन पायथन बिल्ट-इन्स में से सबसे सरल है जिसका उपयोग फंक्शनल प्रोग्रामिंग के लिए किया जाता है। ये टूल्स फंक्शन्स को सीक्वेंसेज और अन्य