मान लीजिए हमारे पास अंतराल की एक सूची है, जहां प्रत्येक अंतराल [start, end] जैसा है जो एक अंतराल के प्रारंभ और अंत समय को दर्शाता है (समावेशी)। हमें उनका प्रतिच्छेदन ढूंढना है, यानी वह अंतराल जो दिए गए सभी अंतरालों के भीतर स्थित है।
उदाहरण के लिए, यदि इनपुट है [[10, 110], [20, 60], [25, 75]], तो आउटपुट होगा [25, 60]।
हल करने के चरण
start, end :=अंतराल सूची से अंतिम तत्व हटाने के बाद अंतराल।- जब तक
intervalsखाली नहीं है:start_temp, end_temp :=अंतराल सूची से अंतिम तत्व हटाने के बाद अंतराल।start := max(start, start_temp)end := min(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]