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

पायथन में अंतरालों की सूची से कुल यूनिक अवधि खोजने का प्रोग्राम


मान लीजिए हमारे पास अंतराल की एक सूची है जहां प्रत्येक सूची एक अंतराल [start, end] (सम्मिलित) दर्शाती है। हमें कुल यूनिक अवधि ढूंढनी है जो यह कवर करती है।

उदाहरण के लिए, यदि इनपुट intervals = [[2,11],[13,31],[41,61]] है, तो आउटपुट 50 होगा, क्योंकि कुल यूनिक कवर दूरी (11-2+1)=10 फिर (31-13+1)=19 और (61-41+1)=21, कुल 50।

समाधान दृष्टिकोण

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

  • यदि intervals खाली: 0 लौटाएं
  • intervals सॉर्ट करें
  • [start, end] := intervals[0]
  • ans := 0
  • प्रत्येक (s,e) के लिए intervals में:
    • यदि s > end:
      • ans += end - start + 1
      • start, end = s, e
    • अन्यथा:
      • end = max(end, e)
  • ans += end - start + 1
  • ans लौटाएं

उदाहरण कोड

class Solution:
    def solve(self, intervals):
        if not intervals:
            return 0
        intervals.sort()
        start, end = intervals[0]
        ans = 0
        for s, e in intervals:
            if s > end:
                ans += end - start + 1
                start, end = s, e
            else:
                end = max(end, e)
        ans += end - start + 1
        return ans

ob = Solution()
intervals = [[2,11],[13,31],[41,61]]
print(ob.solve(intervals))

इनपुट

[[2,11],[13,31],[41,61]]

आउटपुट

50

  1. पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें संचयी योग के साथ एक लिस्ट बनानी है। उदाहरण # संचयी योग def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) return new # ड्राइवर

  1. - पायथन प्रोग्राम सूची से N सबसे बड़े तत्व खोजने के लिए

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे

  1. - पायथन प्रोग्राम: लिस्ट से यूनिक वैल्यूज़ प्रिंट करना

    एक लिस्ट दी गई है, हमारा कार्य सभी यूनिक नंबर्स प्रिंट करना है।उदाहरणInput: A = [1, 2, 3, 4, 2, 1, 9] Unique list is [1, 2, 3, 4, 9]एल्गोरिदमचरण 1: यूजर इनपुट लिस्ट बनाएं। चरण 2: एक खाली लिस्ट बनाएं। चरण 3: लिस्ट में सभी एलिमेंट्स को ट्रैवर्स करें। चरण 4: चेक करें कि यूनिक एलिमेंट मौजूद है या नहीं।