ধরুন আমাদের একটি তালিকার ব্যবধান আছে, আমাদেরকে সাজানো ক্রমানুসারে তাদের মিলন খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি inv =[[2, 5],[4, 10],[20, 25]] এর মত হয়, তাহলে আউটপুট হবে [[2, 10], [20, 25]]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- তালিকা ব্যবধান বাছাই করুন
- উত্তর :=একটি নতুন তালিকা
- প্রতিটি শুরু এবং শেষের জন্য (s, e) বিরতিতে, করুন
- যদি ans এবং s <=ans এর শেষ ব্যবধানের শেষ সময়, তাহলে
- উত্তরগুলির শেষ ব্যবধানের শেষ সময় :=সর্বোচ্চ ই এবং উত্তরের শেষ ব্যবধানের শেষ সময়
- অন্যথায়,
- উত্তরগুলিতে ব্যবধান [s, e] সন্নিবেশ করুন
- যদি ans এবং s <=ans এর শেষ ব্যবধানের শেষ সময়, তাহলে
- উত্তর ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
শ্রেণির সমাধান:def solve(self, intervals):intervals.sort() ans =[] এর জন্য s, e in intervals:if ans এবং s <=ans[-1][1]:ans[-1] [1] =max(ans[-1][1], e) else:ans.append([s, e]) return ansob =Solution()inv =[[2, 5],[4, 10], [20, 25]]প্রিন্ট(ob.solve(inv))
ইনপুট
<প্রে>[[2, 5],[4, 10],[20, 25]]আউটপুট
[[2, 10], [20, 25]]