কম্পিউটার টিউটোরিয়াল

পাইথনে ইন্টারভালের ইন্টারসেকশন (Intersecting Intervals) বের করার প্রোগ্রাম


মান লো যাক আমাদের ইন্টারভালের একটি তালিকা আছে, যেখানে প্রতিটি ইন্টারভাল [start, end] এর মতো, এটি একটি ইন্টারভালের শুরু এবং শেষ সময়কে প্রতিনিধিত্ব করে (ইনক্লুসিভ), আমাদের তাদের ইন্টারসেকশন বের করতে হবে, অর্থাৎ वह इंटरवल जो दिए गए सभी इंटरवल के भीतर स्थित है।

उदाहरण के लिए, यदि इनपुट है [[10, 110],[20, 60],[25, 75]], तो आउटपुट होगा [25, 60]

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

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

বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন देखুন:

উদাহরণ

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. পাইথন find() মেথড: একটি সম্পূর্ণ গাইড

  2. পাইথনে পলিগনের ক্ষেত্রফল বের করার প্রোগ্রাম

  3. পাইথনে পলিগনের পরিসীমা বের করার প্রোগ্রাম

  4. পাইথনে লিস্টের গড় (Average) বের করা