मान लीजिए हमारे पास अंतराल की एक सूची intervals है, हमें उन्हें मर्ज करके सॉर्टेड क्रम में यूनियन ढूंढना है।
उदाहरण के लिए, यदि इनपुट inv = [[2,5],[4,10],[20,25]] है, तो आउटपुट [[2,10], [20,25]] होगा।
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
intervalsको सॉर्ट करेंans := []- प्रत्येक
(s,e)के लिएintervalsमें:- यदि
ansखाली नहीं औरs <= ans[-1][1]:ans[-1][1] = max(ans[-1][1], e)
- अन्यथा:
ans.append([s,e])
- यदि
ansलौटाएं
उदाहरण कोड
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]]