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

पायथन में इंटरसेक्टिंग अंतराल खोजें

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

इसलिए, यदि इनपुट [[10, 110], [20, 60], [25, 75]] जैसा है, तो आउटपुट [25, 60]

होगा।

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

  • प्रारंभ, अंत:=अंतराल सूची से अंतिम तत्व को हटाने के बाद अंतराल
  • जबकि अंतराल खाली नहीं है, करें
    • start_temp, end_temp:=अंतराल सूची से अंतिम तत्व को हटाने के बाद अंतराल
    • प्रारंभ:=प्रारंभ की अधिकतम, start_temp
    • अंत:=न्यूनतम अंत, end_temp
  • एक अंतराल लौटाएं [शुरू, अंत]

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

उदाहरण

class Solution:
   def solve(self, intervals):
      start, end = intervals.pop()
      while intervals:
         start_temp, end_temp = intervals.pop()
         start = max(start, start_temp)
         end = min(end, end_temp)
      return [start, end]
ob = Solution()
intervals = [[10, 110],[20, 60],[25, 75]]
print(ob.solve(intervals))

इनपुट

[[10, 110],[20, 60],[25, 75]]

आउटपुट

[25, 60]

  1. पायथन खोजें:एक गाइड

    पायथन फाइंड () विधि उस इंडेक्स स्थिति का पता लगाती है जिस पर एक स्ट्रिंग का पहला उदाहरण दूसरे स्ट्रिंग में होता है। खोज () रिटर्न -1 यदि कोई मान नहीं मिल सकता है। अन्यथा, यह उस मान की प्रारंभिक अनुक्रमणिका स्थिति देता है जिसके लिए आप खोज कर रहे हैं। एक स्ट्रिंग में एक सबस्ट्रिंग ढूँढना पायथन में

  1. पायथन में बहुभुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का क्षेत्रफल ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 15 होगा। इसे हल करने के लिए, हम इन चरणों का पालन क

  1. पायथन में बहुभुज की परिधि खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का परिमाप ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 16 होगा क्योंकि दो भुजाओं की लंबाई 3 है और दो भुजाओं