मान लीजिए कि हमारे पास एक सूची अंतराल है, हमें क्रमबद्ध क्रम में उनका मिलन खोजना होगा।
इसलिए, यदि इनपुट inv =[[2, 5],[4, 10],[20, 25]] जैसा है, तो आउटपुट [[2, 10], [20, 25]]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- सूची अंतरालों को क्रमबद्ध करें
- उत्तर:=एक नई सूची
- अंतराल में प्रत्येक प्रारंभ और अंत (ओं, ई) के लिए, करें
- यदि उत्तर और s <=उत्तर के अंतिम अंतराल का समाप्ति समय, तो
- उत्तर के अंतिम अंतराल का समाप्ति समय:=अधिकतम ई और उत्तर के अंतिम अंतराल का समाप्ति समय
- अन्यथा,
- अंतराल [s, e] को ans में डालें
- यदि उत्तर और s <=उत्तर के अंतिम अंतराल का समाप्ति समय, तो
- वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, intervals): intervals.sort() ans = [] for s, e in intervals: if ans and s <= ans[-1][1]: ans[-1][1] = max(ans[-1][1], e) else: ans.append([s, e]) return ans ob = Solution() inv = [[2, 5],[4, 10],[20, 25]] print(ob.solve(inv))
इनपुट
[[2, 5],[4, 10],[20, 25]]
आउटपुट
[[2, 10], [20, 25]]