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

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

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

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

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

  • यदि अंतराल सूची खाली है, तो
    • वापसी 0
  • सूची अंतरालों को क्रमबद्ध करें
  • [शुरू, अंत] :=अंतराल[0]
  • उत्तर:=0
  • अंतराल में प्रत्येक प्रारंभ और अंत (ओं, ई) के लिए, करें
    • यदि s> समाप्त हो, तो
      • उत्तर:=उत्तर + अंत - प्रारंभ + 1
      • शुरू करें:=एस, अंत:=ई
    • अन्यथा,
      • अंत :=अधिकतम अंत, e
  • उत्तर:=उत्तर + अंत - प्रारंभ + 1
  • वापसी उत्तर

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

उदाहरण

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 = s
               end = 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. एक सूची का संचयी योग खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें संचयी राशि के साथ एक सूची बनानी होगी। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # cumulative sum def Cumulative(l):    new = []    cumsum = 0   &nb

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

    एक पूर्णांक सूची को देखते हुए, हमारा कार्य सूची में N सबसे बड़े तत्वों को खोजना है। उदाहरण Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] एल्गोरिदम Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest va

  1. एक सूची से अद्वितीय मान मुद्रित करने के लिए पायथन प्रोग्राम

    एक सूची को देखते हुए, हमारा काम सभी विशिष्ट नंबरों को प्रिंट करना है। उदाहरण Input:A = [1, 2, 3, 4, 2, 1, 9] Unique list is [1, 2, 3, 4, 9] एल्गोरिदम Step 1: Create user input list. Step 2: Create an empty list. Step 3: Traverse all elements in the list. Step 4: Check the unique element is present o