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

पायथन में लक्ष्य अंतराल को मर्ज करके अंतराल ज्ञात करने का प्रोग्राम


मान लीजिए हमारे पास गैर-ओवरलैपिंग अंतरालों की एक सूची है। ये समाप्ति समय के आधार पर सॉर्ट किए गए हैं। हमारे पास एक और अंतराल target है। target को मर्ज करने के बाद अंतिम अंतराल ज्ञात करें ताकि अंतराल अभी भी गैर-ओवरलैपिंग और सॉर्टेड रहें।

उदाहरण के लिए, intervals = [[1,15],[25,35],[75,90]], target = [10,30] के लिए आउटपुट [[1,35],[75,90]] होगा।

एल्गोरिदम

  • target को iv में जोड़ें
  • iv को प्रारंभ समय के आधार पर सॉर्ट करें
  • res := [iv[0]]
  • i=1 से len(iv)-1 तक:
    • यदि iv[i][0] <= res[-1][1], तो res[-1][1] = max(res[-1][1], iv[i][1])
    • अन्यथा res.append(iv[i])
  • res वापस करें

उदाहरण

class Solution:
    def solve(self, iv, target):
        iv.append(target)
        iv.sort(key=lambda x: x[0])
        res = [iv[0]]
        i = 1
        while i < len(iv):
            if iv[i][0] <= res[-1][1]:
                res[-1][1] = max(res[-1][1], iv[i][1])
            else:
                res.append(iv[i])
            i += 1
        return res

ob = Solution()
intervals = [[1,15],[25,35],[75,90]]
target = [10,30]
print(ob.solve(intervals, target))

इनपुट

[[1,15],[25,35],[75,90]], [10,30]

आउटपुट

[[1,35],[75,90]]
  1. पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास रंगों (R, G, B) की एक लिस्ट है। अब यदि दो अलग-अलग रंग अगल-बगल हैं तो वे तीसरे रंग के एकल रंग आइटम में बदल सकते हैं। हमें किसी भी संभावित परिवर्तन अनुक्रम के बाद शेष सबसे छोटी संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट colors = [G, R, G, B, R] है, तो आउटपुट 1 होगा क्योंकि यह नीचे द

  1. - बाइनरी मैट्रिक्स में 1 वाले वर्ग सबमैट्रिक्स की संख्या ज्ञात करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास एक 2D बाइनरी मैट्रिक्स है, हमें उन वर्ग सबमैट्रिक्स की कुल संख्या ढूंढनी है जिनमें सभी 1 हैं। उदाहरण के लिए, यदि इनपुट इस तरह है: 11101110111000001011 तो आउटपुट 17 होगा क्योंकि 12 (1 x 1) वर्ग, 4 (2 x 2) वर्ग और 1 (3 x 3) वर्ग हैं। इसे हल करने के लिए, हम निम्न चरणों का पालन करें

  1. टारगेट को धारण करने वाले सबसे छोटे चक्र की लंबाई ज्ञात करने का पायथन प्रोग्राम टारगेट को धारण करने वाले सबसे छोटे चक्र की लंबाई ज्ञात करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास एक निर्देशित ग्राफ की आसन्न सूची है, जहां इंडेक्स i पर प्रत्येक सूची नोड i से जुड़े नोड्स को दर्शाती है। हमारे पास एक टारगेट मान भी है। हमें उस सबसे छोटे चक्र की लंबाई ढूंढनी है जिसमें टारगेट शामिल है। यदि कोई समाधान नहीं है तो -1 लौटाएं। उदाहरण के लिए, यदि इनपुट इस तरह है: tar